(我正在使用Python 2.6和nose.)
我正在为我的Python应用程序编写测试.我想要一个测试打开一个新文件,关闭它,然后删除它.当然,我更喜欢这会发生在临时目录中,因为我不想丢弃用户的文件系统.而且,它需要跨OS.
我该怎么做?
我正在制作一个用Python运行模拟的程序,带有一个wxPython接口.在程序中,您可以创建模拟,程序为您渲染(=计算)它.有时渲染可能非常耗时.
当用户启动模拟并定义初始状态时,我希望程序在后台连续渲染模拟,而用户可能在程序中执行不同的操作.有点类似于填充的YouTube风格的条形图:您可以仅在渲染点进行模拟.
我应该使用多个进程还是多个线程或者什么?人们告诉我使用这个multiprocessing软件包,我检查了它看起来不错,但我也听说过程序,不像线程,不能分享很多信息(我想我的程序需要分享很多信息.另外我还听说过Stackless Python:它是一个单独的选项吗?我不知道.
请指教.
python multithreading multicore multiprocessing python-stackless
我想知道下面解释的任务是否在理论上是可行的,如果是这样,我怎么能做到.
给你一个N元素空间(即0和之间的所有数字N-1.)让我们看看那个空间上所有排列的空间,然后调用它S.可以标记的i第th个成员是带有词典编号的排列.SS[i]i
例如,如果N是3,那么S这个排列列表是:
S[0]: 0, 1, 2
S[1]: 0, 2, 1
S[2]: 1, 0, 2
S[3]: 1, 2, 0
S[4]: 2, 0, 1
S[5]: 2, 1, 0
Run Code Online (Sandbox Code Playgroud)
(当然,当看到一个大的时候N,这个空间变得非常大,N!确切地说.)
现在,我已经知道如何通过其索引号来获得排列i,并且我已经知道如何反转(得到给定排列的词典编号.)但我想要更好的东西.
一些排列本身可能很大.例如,如果你正在看N=10^20.(的大小S将是(10^20)!我相信这是我在一个堆栈溢出问题提起过的最大号:)
如果你只是在那个空间上看一个随机的排列,那么你将无法将整个东西存储在你的硬盘上,更不用说通过词典编号来计算每个项目了.我想要的是能够对该排列进行项目访问,并获得每个项目的索引.也就是说,给定N和i指定一个排列,有一个函数接受一个索引号并找到该索引中的数字,另一个函数接受一个数字并找到它所在的索引.我想这样做O(1),所以我不需要在排列中存储或迭代每个成员.
你说疯了吗?不可能?那可能.但请考虑一下:像AES这样的分组密码本质上是一种排列,它几乎完成了我上面概述的任务.AES具有16个字节的块大小,这意味着N是256^16它是围绕10^38.(S重要的是,它的大小是一个惊人的(256^16)!,或者说是围绕着10^85070591730234615865843651857942052838 …
encryption algorithm permutation combinatorics number-theory
我想把一个multiprocessing.Queue列入一个列表.为此,我编写了以下函数:
import Queue
def dump_queue(queue):
"""
Empties all pending items in a queue and returns them in a list.
"""
result = []
# START DEBUG CODE
initial_size = queue.qsize()
print("Queue has %s items initially." % initial_size)
# END DEBUG CODE
while True:
try:
thing = queue.get(block=False)
result.append(thing)
except Queue.Empty:
# START DEBUG CODE
current_size = queue.qsize()
total_size = current_size + len(result)
print("Dumping complete:")
if current_size == initial_size:
print("No items were added to the queue.")
else:
print("%s items …Run Code Online (Sandbox Code Playgroud) 我正在Django制作一个Web应用程序,将用户的图像发送到他们的电子邮件中.
发送图像对我来说最吸引人的方式是数据:uri格式.
但是,我测试了发送此电子邮件的数据:uri图像到我的GMail帐户,电子邮件显示,但没有图像!
我知道Chrome和Firefox都可以打开数据:uri图像.所以这不是浏览器问题.但我没有看到数据:在GMail中的uri图像.
GMail不支持数据:uri图像?或者我可能发错了?
我想要类似的东西executor.map,除非我迭代结果,我想根据完成的顺序迭代它们,例如,首先完成的工作项应首先出现在迭代中,等等.这样迭代将是阻止iff序列中的每个工作项尚未完成.
我知道如何使用队列自己实现这个,但我想知道是否可以使用该futures框架.
(我主要使用基于线程的执行程序,所以我想要一个适用于这些的答案,但一般的答案也会受到欢迎.)
更新:谢谢你的答案!你能解释我怎么as_completed用executor.map吗?executor.map在使用期货时,对我来说是最实用和最简洁的工具,我不愿意Future手动开始使用对象.
我正在制作一个多语言的Django网站.我创建了一个消息文件,填充并编译它.我用我想要的语言(希伯来语)检查了网站(在这种情况下是管理员),并且大多数短语都像希伯来语一样出现,但有些则没有.我检查了源代码,这些仍然显示为_('Whatever')他们应该,它们也被翻译在消息文件中,是的,我记得这样做compilemessages.
翻译的一些常见原因是什么?
python ×8
django ×3
algorithm ×1
data-uri ×1
email ×1
encryption ×1
events ×1
future ×1
gettext ×1
gmail ×1
multicore ×1
permutation ×1
queue ×1
static-media ×1
testing ×1
translation ×1
unit-testing ×1
wxpython ×1