我想使用multiprocessing的Pool.map()功能,同时划分出工作.当我使用以下代码时,它工作正常:
import multiprocessing
def f(x):
return x*x
def go():
pool = multiprocessing.Pool(processes=4)
print pool.map(f, range(10))
if __name__== '__main__' :
go()
Run Code Online (Sandbox Code Playgroud)
但是,当我在面向对象的方法中使用它时,它不起作用.它给出的错误信息是:
PicklingError: Can't pickle <type 'instancemethod'>: attribute lookup
__builtin__.instancemethod failed
Run Code Online (Sandbox Code Playgroud)
当以下是我的主程序时会发生这种情况:
import someClass
if __name__== '__main__' :
sc = someClass.someClass()
sc.go()
Run Code Online (Sandbox Code Playgroud)
以下是我的someClass课程:
import multiprocessing
class someClass(object):
def __init__(self):
pass
def f(self, x):
return x*x
def go(self):
pool = multiprocessing.Pool(processes=4)
print pool.map(self.f, range(10))
Run Code Online (Sandbox Code Playgroud)
任何人都知道问题可能是什么,或者一个简单的方法呢?
假设我有一个日期时间列表,我们知道每个日期时间是事件发生的记录时间.
是否有可能在matplotlib中绘制此事件随时间发生的频率,在累积图中显示此数据(以便每个点大于或等于之前的所有点),而无需预处理此列表?(例如,将datetime对象直接传递给一些精彩的matplotlib函数)
或者我是否需要将此日期时间列表转换为字典项列表,例如:
{"year": 1998, "month": 12, "date": 15, "events": 92}
Run Code Online (Sandbox Code Playgroud)
然后从此列表生成图表?
我看到Django的allauth支持使用自己的电子邮件地址,强制用户登录,并(从电子邮件地址,而不是生成一个自动)报名时不要求他们输入用户名- /sf/answers/1377847271/ 221001
是否可以让用户注册,手动输入电子邮件地址和用户名,然后允许他们使用任一登录?(例如,登录页面上有两个字段:“用户名或电子邮件”和“密码”)
假设我在n个用户之间有一个n*n的距离矩阵.我想知道使用什么算法来查找组周围的路由,从用户X开始并返回到用户X,所有其他节点访问一次但只有一次,并且在每一跳中使用尽可能短的距离.
python ×3
graph ×2
algorithm ×1
datetime ×1
django ×1
graph-theory ×1
matplotlib ×1
pickle ×1
pool ×1