Questions tagged «python»

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

7
使用Django 1.7加载初始数据和数据迁移
我最近从Django 1.6切换到1.7,并且开始使用迁移功能(我从未使用过South)。 在1.7之前,我曾经用fixture/initial_data.json文件加载初始数据,该文件是用python manage.py syncdb命令加载的(在创建数据库时)。 现在,我开始使用迁移,并且不赞成使用此行为: 如果应用程序使用迁移,则不会自动加载固定装置。由于Django 2.0中的应用程序需要迁移,因此该行为被视为已弃用。如果要加载应用程序的初始数据,请考虑在数据迁移中进行。(https://docs.djangoproject.com/zh-CN/1.7/howto/initial-data/#automatically-loading-initial-data-fixtures) 在官方文件并没有对如何做一个明显的例子,所以我的问题是: 使用数据迁移导入此类初始数据的最佳方法是什么: 通过多次调用编写Python代码mymodel.create(...), 使用或编写Django函数(如调用loaddata)从JSON固定文件加载数据。 我更喜欢第二种选择。 我不想使用South,因为Django现在似乎可以本地使用。

9
如何“正确”打印列表?
所以我有一个清单: ['x', 3, 'b'] 我希望输出为: [x, 3, b] 如何在python中执行此操作? 如果我这样做str(['x', 3, 'b']),我会用引号引起来,但我不希望引号。
95 python  string 

3
如何在Python中获取类的文件路径?
给定Python中的类C,如何确定该类在哪个文件中定义?我需要可以从类C或从关闭C的实例工作的东西。 之所以这样做,是因为我通常不喜欢将属于同一文件的文件放在同一文件夹中。我想创建一个使用Django模板将其自身呈现为HTML的类。基本实现应根据定义类的文件名来推断模板的文件名。 假设我在文件“ base / artifacts.py”中放置了一个LocationArtifact类,那么我希望默认行为是模板名称为“ base / LocationArtifact.html”。

5
如何在Django中使用redis?
我听说过redis-cache,但是它是如何工作的呢?通过以某种方式缓存rdbms查询,它是否被用作Django和我的rdbms之间的一层? 还是应该将其直接用作数据库?我对此表示怀疑,因为该github页面不包含任何登录详细信息,所以没有设置..只是告诉您设置一些config属性。
95 python  django  redis 

8
输出到同一行覆盖先前的输出?
我正在写一个FTP下载器。代码的一部分是这样的: ftp.retrbinary("RETR " + file_name, process) 我正在调用函数进程来处理回调: def process(data): print os.path.getsize(file_name)/1024, 'KB / ', size, 'KB downloaded!' file.write(data) 输出是这样的: 1784 KB / KB 1829 downloaded! 1788 KB / KB 1829 downloaded! etc... 但我希望它打印此行,下次重新打印/刷新它,因此它只会显示一次,我会看到下载进度。 如何做呢?

6
记录来自python-requests模块的所有请求
我正在使用python Requests。我需要调试一些OAuth活动,为此,我希望它记录正在执行的所有请求。我可以通过获得此信息ngrep,但是很遗憾,无法grep https连接(所需OAuth) 如何激活Requests正在访问的所有URL(+参数)的日志记录?


6
静态方法-如何从另一个方法调用一个方法?
当我有用于在类中调用另一个方法的常规方法时,我必须这样做 class test: def __init__(self): pass def dosomething(self): print "do something" self.dosomethingelse() def dosomethingelse(self): print "do something else" 但是当我有静态方法时,我不能写 self.dosomethingelse() 因为没有实例。在Python中如何从同一个类的另一个静态方法中调用一个静态方法,我该怎么做? 编辑:真是一团糟。好的,我将问题改回原来的问题。我已经有了彼得·汉森(Peter Hansen)评论中第二个问题的答案。如果您认为我应该再提出一个已经存在的答案的问题,请告诉我。


8
sqlalchemy模型的已定义列上迭代的方法?
我一直在尝试找出如何遍历SQLAlchemy模型中定义的列列表。我希望它为一些模型编写一些序列化和复制方法。我不能仅对其进行迭代,obj.__dict__因为它包含许多SA特定项。 有人知道一种从以下项中获取id和desc名称的方法吗? class JobStatus(Base): __tablename__ = 'jobstatus' id = Column(Integer, primary_key=True) desc = Column(Unicode(20)) 在这种情况下,我可以轻松创建一个: def logme(self): return {'id': self.id, 'desc': self.desc} 但我更喜欢自动生成dict(对于较大的对象)的东西。

5
python的sorted()函数是否保证稳定?
该文档不能保证。还有其他记录在案的地方吗? 我猜想它可能是稳定的,因为可以保证列表上的sort方法是稳定的(注9:“从Python 2.3开始,保证sort()方法是稳定的”),并且sorted在功能上相似。但是,我找不到任何明确的说法。 目的:如果两个记录中的主键相等,则需要基于主键和辅助键进行排序。如果保证sorted()是稳定的,那么我可以对辅助键进行排序,然后对主键进行排序,并获得所需的结果。 PS:为避免任何混乱,我使用“稳定”的含义是“排序是稳定的,如果它保证不更改比较相等的元素的相对顺序”。

3
Python是否支持多线程?可以加快执行时间吗?
我对多线程是否可以在Python中工作感到有些困惑。 我知道对此有很多疑问,我已经阅读了很多,但是我仍然很困惑。我从我自己的经验中知道,并且看到其他人在StackOverflow上发表了自己的答案和示例,在Python中确实可以实现多线程。那么,为什么每个人都在说Python被GIL锁定并且一次只能运行一个线程呢?显然可以。还是我不来这里有什么区别? 许多张贴者/受访者还不断提到线程是有限的,因为它不使用多个核心。但是我会说它们仍然有用,因为它们可以同时工作,因此可以更快地完成合并的工作量。我的意思是为什么还要有Python线程模块呢? 更新: 到目前为止,感谢您提供所有答案。据我了解,多线程只能并行运行某些IO任务,而一次只能运行一个CPU绑定的多个核心任务。 我并不完全确定这对我实际上意味着什么,所以我仅举一个我想进行多线程的任务示例。例如,假设我要遍历很长的字符串列表,并且希望对每个列表项执行一些基本的字符串操作。如果拆分列表,将每个要由循环/字符串代码处理的子列表发送到新线程中,然后将结果发送回队列中,这些工作负载是否会大致同时运行?最重要的是,从理论上讲,这会加快运行脚本的时间吗? 另一个例子可能是,如果我可以在四个不同的线程中使用PIL渲染和保存四张不同的图片,并且这比一张又一张地处理图片要快吗?我想这个速度要素是我真正想知道的,而不是正确的术语。 我也了解多处理模块,但是我现在的主要兴趣是中小型任务负载(10-30秒),因此我认为多线程将更合适,因为子进程的启动速度很慢。

5
Python请求库重定向新网址
我一直在浏览Python Requests文档,但是看不到我要实现的功能。 在我的脚本中,我正在设置allow_redirects=True。 我想知道页面是否已重定向到其他内容,新的URL是什么。 例如,如果起始URL为: www.google.com/redirect 最终的URL是 www.google.co.uk/redirected 我如何获得该URL?

8
按属性筛选
是否可以通过模型属性过滤Django查询集? 我的模型中有一个方法: @property def myproperty(self): [..] 现在我想按此属性进行过滤,例如: MyModel.objects.filter(myproperty=[..]) 这有可能吗?
95 python  django  orm 

7
通过标签选择的熊猫有时返回Series,有时返回DataFrame
在Pandas中,当我选择一个索引中仅包含一个条目的标签时,我会得到一个系列,但是当我选择一个具有多于一个条目的条目时,我就会得到一个数据框。 这是为什么?有没有办法确保我总是取回数据帧? In [1]: import pandas as pd In [2]: df = pd.DataFrame(data=range(5), index=[1, 2, 3, 3, 3]) In [3]: type(df.loc[3]) Out[3]: pandas.core.frame.DataFrame In [4]: type(df.loc[1]) Out[4]: pandas.core.series.Series

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.