Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

5
如何检查stdin是否包含一些数据?
在Python中,如何检查是否sys.stdin有数据? 我发现不仅os.isatty(0)可以检查stdin是否已连接到TTY设备,还可以检查是否有可用数据。 但是如果有人使用诸如 sys.stdin = cStringIO.StringIO("ddd") 然后使用os.isatty(0),它仍然返回True。我需要做什么检查stdin是否有数据?

6
如何定期使用asyncio执行功能?
我从迁移tornado到asyncio了,我找不到asyncio等效tornado的PeriodicCallback。(APeriodicCallback有两个参数:要运行的函数和两次调用之间的毫秒数。) 有这样的等同物asyncio吗? 如果没有,那么在不冒RecursionError一会儿风险的情况下,最干净的方法是什么呢?


5
在Django中的自定义管理器中捕获DidsNotExist异常
我有一个Django模型的自定义管理器。我似乎无法在此处捕获DidNotExist异常。我知道如何在模型中执行此操作,但在这里不起作用: class TaskManager(models.Manager): def task_depend_tree(self, *args, **kwargs): if "id" in kwargs: try: task = self.get(id=kwargs["id"]) except DoesNotExist: raise Http404 Get_object_or_404也不起作用。怎么了

8
找不到库geos_c或加载其任何变体
我在Fedora 19中使用Python。我想运行以下行: import shapely.geometry 但是出现以下错误: OSError: Could not find library geos_c or load any of its variants ['libgeos_c.so.1', 'libgeos_c.so'] 我安装了软件包Shapely和以下两个库: glibc-2.17-4.fc19.i686.rpm geos-3.3.8-2.fc19.i686.rpm。 我该怎么办才能解决问题?
69 python  shapely 

2
Python:如何编辑已安装的软件包?
我通过安装了一些软件包pip install something。我想编辑包的源代码something。它在哪里(在ubuntu 12.04上),并且每次编辑源代码并运行它时如何重新加载它? 目前,我正在编辑源代码,然后一次又一次地运行python setup.py,事实证明这很麻烦。
69 python  pip 


1
测试需要Flask应用或请求上下文的代码
我正在working outside of request context试图访问时,session在测试。测试需要测试的内容时,如何设置上下文? import unittest from flask import Flask, session app = Flask(__name__) @app.route('/') def hello_world(): t = Test() hello = t.hello() return hello class Test: def hello(self): session['h'] = 'hello' return session['h'] class MyUnitTest(unittest.TestCase): def test_unit(self): t = tests.Test() t.hello()
69 python  flask 

7
您为Python使用哪些重构工具?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 1年前关闭。 改善这个问题 我有一堆要重命名的类。其中一些名称较小,并且该名称在其他类名称中重复使用,我不希望该名称更改。其中大多数都存在于Python代码中,但是我们也有一些引用类名的XML代码。 简单的搜索和替换只能使我到目前为止。就我而言,我想将AdminAction重命名为AdminActionPlug,将AdminActionLogger重命名为AdminActionLoggerPlug,因此第一个的搜索和替换也将错误地命中第二个。 有没有人有使用Python重构工具的经验?如果他们还可以修复XML文档中的类名,则有加分。

6
如何在python shell中重新加载类?
如果导入的模块定义了属于同一个包的同名类,则由于父包的__init__.py,它将作为类而不是模块导入。有关详细信息,请在不同目录中查看不同的导入结果。在Python Shell或ipython Shell中,如果我这样做 from MyPak import MyMod MyModule始终作为Class导入,因此我无法重新加载它(reload()仅适用于模块)。跑 from MyPak import MyMod 再次似乎不更新类定义。有人可以建议一种在python shell中更新类的方法吗? ps。无需重启python解释器。 pps。以防万一您掌握了代码并想要对其进行测试:我实际上是在谈论BioPython,并且我正在研究Bio.PDB.PDBParser。我有一个ipython shell(v0.10)并编辑PDBParser.py。只是没有办法在ipython中重新加载它。 所以这就是我所做的: # start ipython v0.10 import Bio from Bio.PDB import PDBParser p = PDBParser() s = p.get_structure() # then I make changes,e.g. simply print some text, in PDBParser.py del Bio del PDBParser del …
69 python  ipython 

5
RFC 1123 Python中的日期表示形式?
是否有一种相当简单的方法将datetime对象转换为RFC 1123(HTTP / 1.1)日期/时间字符串,即具有以下格式的字符串 Sun, 06 Nov 1994 08:49:37 GMT 使用strftime不起作用,因为字符串取决于语言环境。我是否需要手工制作琴弦?
69 python  http  datetime 

5
使用docker时virtualenv是否达到目的(在生产中)?
对于开发,在涉及依赖项时,我们使用virtualenv进行独立开发。从这个问题来看,似乎在虚拟环境 被推荐。 现在我们开始使用 码头工人进行部署。这提供了一个更隔离的环境,因此我质疑docker容器内virtualenv的使用。对于单个应用程序,我不认为virtualenv有目的,因为docker已经提供了隔离。在将多个应用程序部署在单个docker容器上的情况下,我确实认为virtualenv具有用途,因为这些应用程序可能具有冲突的依赖关系。 在Docker容器中部署单个应用程序时应使用virtualenv吗? docker应该包含多个应用程序,还是每个容器仅包含一个应用程序? 如果是这样,那么在部署具有多个应用程序的容器时是否应该使用virtualenv?

3
熊猫系列的直方图值
我有一个Python熊猫系列的某些值(类型:pandas.core.series.Series) In [1]: series = pd.Series([0.0,950.0,-70.0,812.0,0.0,-90.0,0.0,0.0,-90.0,0.0,-64.0,208.0,0.0,-90.0,0.0,-80.0,0.0,0.0,-80.0,-48.0,840.0,-100.0,190.0,130.0,-100.0,-100.0,0.0,-50.0,0.0,-100.0,-100.0,0.0,-90.0,0.0,-90.0,-90.0,63.0,-90.0,0.0,0.0,-90.0,-80.0,0.0,]) In [2]: series.min() Out[2]: -100.0 In [3]: series.max() Out[3]: 950.0 我想获取直方图的值(不必绘制直方图)...我只需要获取每个间隔的频率即可。 假设我的间隔从[-200; -150]至[950; 1000] 所以下界是 lwb = range(-200,1000,50) 和上限是 upb = range(-150,1050,50) 我现在不知道如何获取频率(每个间隔内的值的数量)...我确定没有必要定义lwb和upb ...但是我不知道应该使用什么函数执行这个!(在学习了Pandas doc之后,我认为cut函数可以为我提供帮助,因为这是一个离散化问题...但是我不知道如何使用它) 能够做到这一点之后,我将看看显示直方图的方式(但这是另一个问题)

10
查找不在列表中的元素
所以这是我的代码: item = [0,1,2,3,4,5,6,7,8,9] z = [] # list of integers for item in z: if item not in z: print item z包含一个整数列表。我想比较item于z并打印出不在的数字z相比时item。 z当不比较时,我可以打印其中的元素item,但是当我尝试使用上面的代码做相反的操作时,则什么也不会打印。 有什么帮助吗?
69 python  list 

11
Django表单,表单域的继承和顺序
我在我的网站中使用Django表单,并希望控制字段的顺序。 这是我定义表单的方式: class edit_form(forms.Form): summary = forms.CharField() description = forms.CharField(widget=forms.TextArea) class create_form(edit_form): name = forms.CharField() 名称是不可变的,仅在创建实体时列出。我使用继承来添加一致性和DRY原则。发生的事情并非错误,实际上是完全可以预料的,是名称字段在view / html中最后列出,但是我希望名称字段位于摘要和描述的顶部。我确实意识到,可以通过将摘要和描述复制到create_form并释放继承来轻松解决此问题,但是我想知道是否可行。 为什么?想象一下,您在edit_form中有100个字段,并且必须在create_form的顶部添加10个字段-复制和维护这两个表单看起来并不那么性感。(这是不是我的情况,我只是在举一个例子) 因此,如何覆盖此行为? 编辑: 显然,没有经过讨厌的破解(摆弄.field属性)就没有适当的方法。.field属性是SortedDict(Django内部数据结构之一),它不提供任何对key:value对进行重新排序的方法。但是,它确实提供了一种在给定索引处插入项目的方法,但是会将项目从类成员移动到构造函数中。该方法可以工作,但是会使代码的可读性降低。我认为合适的另一种方法是修改框架本身,这在大多数情况下都不是最优的。 简而言之,代码将变成这样: class edit_form(forms.Form): summary = forms.CharField() description = forms.CharField(widget=forms.TextArea) class create_form(edit_form): def __init__(self,*args,**kwargs): forms.Form.__init__(self,*args,**kwargs) self.fields.insert(0,'name',forms.CharField()) 那让我闭嘴:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.