Questions tagged «python»

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

7
Python:使用“ ..%(var)s ..”%locals()是一种好习惯吗?
我发现了这种模式(或反模式),对此我感到非常满意。 我觉得它非常敏捷: def example(): age = ... name = ... print "hello %(name)s you are %(age)s years old" % locals() 有时我用它的表弟: def example2(obj): print "The file at %(path)s has %(length)s bytes" % obj.__dict__ 我不需要创建人为的元组并计算参数并将%s匹配位置保留在元组中。 你喜欢它吗?您会/会使用它吗?是/否,请解释。

7
为什么splatting在rhs上创建一个元组,而在lhs上创建一个列表?
考虑例如 squares = *map((2).__rpow__, range(5)), squares # (0, 1, 4, 9, 16) *squares, = map((2).__rpow__, range(5)) squares # [0, 1, 4, 9, 16] 因此,在所有其他条件相同的情况下,当我们在lhs上进行排序时,会得到一个列表,而当我们在rhss上进行布局时,会得到一个元组。 为什么? 这是设计使然吗,如果是,原因是什么?否则,是否有任何技术原因?还是只是这样,没有特殊原因?

4
在Python中创建随机整数列表
我想创建一个随机的整数列表以进行测试。数字的分布并不重要。唯一要数的是时间。我知道生成随机数是一项耗时的任务,但是必须有更好的方法。 这是我当前的解决方案: import random import timeit # Random lists from [0-999] interval print [random.randint(0, 1000) for r in xrange(10)] # v1 print [random.choice([i for i in xrange(1000)]) for r in xrange(10)] # v2 # Measurement: t1 = timeit.Timer('[random.randint(0, 1000) for r in xrange(10000)]', 'import random') # v1 t2 = timeit.Timer('random.sample(range(1000), …


9
在python的set操作中添加vs更新
如果我只想向集合中添加单个值,则python中的添加和更新操作之间有什么区别? a = set() a.update([1]) #works a.add(1) #works a.update([1,2])#works a.add([1,2])#fails 有人可以解释为什么会这样。
71 python  set 

6
以某种方式使用py.test时可以使用python调试器进行调试吗?
我正在使用py.test对python程序进行单元测试。我希望使用python调试器以正常方式调试测试代码(在代码中我的意思是pdb.set_trace()),但是我无法使其正常工作。 将pdb.set_trace()放入代码中不起作用(引发IOError:捕获输出时从stdin读取)。我也尝试使用--pdb选项运行py.test,但是如果我想探索断言之前发生的事情,那似乎并没有解决问题。当断言失败时,它会中断,并且从那一行继续进行就意味着终止程序。 有谁知道获取调试的方法,或者调试和py.test并不意味着在一起吗?

6
Python-移动和覆盖文件和文件夹
我有一个目录“ Dst Directory”,其中包含文件和文件夹,而我有“ src Directory”,其中也包含文件和文件夹。我想要做的是将“ src目录”的内容移动到“ Dst目录”,并覆盖具有相同名称的所有文件。因此,例如需要将“ Src Directory \ file.txt”移至“ Dst Directory \”并覆盖现有的file.txt。对于某些文件夹,移动文件夹并将内容与“ dst目录”中的同一文件夹合并,也是如此 我当前正在使用shutil.move将src的内容移动到dst,但是如果文件已经存在并且不会合并文件夹,则不会这样做。它将只将该文件夹放在现有文件夹中。 更新:为了使事情更加清楚,我正在做的是将存档解压缩到Dst目录,然后将Src目录的内容移到那里并重新压缩,从而有效地更新了zip存档中的文件。添加新文件或文件的新版本等将重复此操作,这就是为什么它需要覆盖和合并的原因 已解决:我通过使用distutils.dir_util.copy_tree(src,dst)解决了我的问题,这会将文件夹和文件从src目录复制到dst目录,并在需要时覆盖/合并。希望对某些人有所帮助! 希望有道理,谢谢!
71 python  file  move  overwrite 


11
在Python中的while循环条件中分配变量?
我刚刚遇到了这段代码 while 1: line = data.readline() if not line: break #... 并且认为,必须有一个比用无限循环更好的方法break。 所以我尝试了: while line = data.readline(): #... 显然有一个错误。 有什么方法可以避免break在那种情况下使用? 编辑: 理想情况下,您要避免readline重复说两次...恕我直言,重复甚至比a还要糟糕break,尤其是在语句很复杂的情况下。

4
Python:在csv.DictReader中跳过标有#的注释行
用csv.DictReader处理CSV文件很棒-但是我有带注释行的CSV文件(例如,在行的开头用哈希表示): #步长= 1.61853 val0,val1,val2,杂交,温度,smattr 0.206895,0.797923,0.202077,0.631199,0.368801,0.311052,0.688948,0.597237,0.402763 -169.32,1,1.61853,2.04069e-92,1,0.000906546,0.999093,0.241356,0.758644,0.202382 #改编完成 csv模块不包含任何跳过此类行的方法。 我可以轻松地做些骇人听闻的事情,但是我想有一种将csv.DicReader包装在其他迭代器对象周围的好方法,该对象会进行预处理以丢弃行。
71 python  csv  comments 

7
Python 3解释器是否具有JIT功能?
我发现,当我向Python提出更多要求时,python不会100%使用我的机器资源,而且速度不是很快,与许多其他解释型语言相比,它很快,但是与编译语言相比,我认为区别是真的很棒。 是否可以使用Python 3中的即时(JIT)编译器来加快处理速度? 通常,只有JIT编译器才能提高解释语言的性能,所以我指的是这种方法,如果有其他解决方案可用,我希望接受新的答案。
71 python  python-3.x  jit 


4
将python源代码分割成多个文件?
我有一个代码,希望将其拆分为多个文件。在matlab中,您可以简单地调用.m文件,只要没有特别定义它,它将像被调用的代码一样运行。范例(编辑): test.m(matlab) function [] = test() ... some code using variables ... test2 test2.m(matlab) ... some more code using same variables ... 调用test将运行测试中的代码以及test2中的代码。 python是否有类似的方法将其... some more code ...放入外部文件中,就像将其从调用它的文件中读取一样,将其读取?
71 python 

5
pyyaml:不带标签的转储
我有 >>> import yaml >>> yaml.dump(u'abc') "!!python/unicode 'abc'\n" 但是我想要 >>> import yaml >>> yaml.dump(u'abc', magic='something') 'abc\n' 什么魔术参数强制不加标签?
71 python  yaml  pyyaml 

3
用于相对进口的python包装
首先,很抱歉,我知道相对进口存在很多疑问,但我没有找到解决办法。如果可能的话,我想使用以下目录布局: myClass/ __init__.py test/ demo.py benchmark.py specs.py src/ __init__.py myClass.py 现在我的问题是: 包中的测试文件如何正确导入myClass.py? 假设您将myClass作为libs / myClass或include / myClass中的子模块,则如何从外部导入包? 到目前为止,我找不到适合的解决方案。据我了解Guido的决定,应该可以这样做,from ..src import myClass但这会出错: ValueError: Attempted relative import in non-package 看起来没有将myClass视为包。阅读文档: __init__.py文件是使Python将目录视为包含包的必需文件。 似乎我缺少指定软件包脚本位置的内容,我应该使用.pth吗?

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.