断言错误在python中

时间:2012-07-17 13:27:03

标签: python process multiprocessing

尝试运行此代码时

for i in range(N):
    jobs.append(mp.Process(None,G_Sim,(lmbda,mu,c,skip_cost,simulation_time,Policy,warmup_period,False,)))
for j in jobs:
    j.start()
    j.join()

我得到一个断言错误:名称必须是字符串

2 个答案:

答案 0 :(得分:0)

Process期望其第三个参数是进程名称,而不是参数元组。

答案 1 :(得分:0)

mp.Process()函数调用定义如下:

multiprocessing.Process([group[, target[, name[, args[, kwargs]]]]])

第三个参数应该是进程的名称,作为字符串。您正在传递以下元组:     (lmbda,μ,C,skip_cost,simulation_time,政策,warmup_period,FALSE)

你应该为你的论点命名。类似的东西:

jobs.append(mp.Process(group=None, target=G_Sim, args=(lmbda,mu,c,skip_cost,simulation_time,Policy,warmup_period,False,)))