Python 是否可能生成动态变量?
我想调用一个函数,它启动一个子流程,如下所示:Python 是否可能生成动态变量?,python,function,variables,multiprocessing,Python,Function,Variables,Multiprocessing,我想调用一个函数,它启动一个子流程,如下所示: processrrd = Popen(args1, stdout=PIPE, stderr=PIPE, env={'LANG':'de_DE@euro','TZ':'Europe/Berlin'}) outputrrd = processrrd.communicate() (output, error) = outputrrd 现在我想使用multiprocessing.pool来并行化worker。 问题是变量outputrd ist被最后一个
processrrd = Popen(args1, stdout=PIPE, stderr=PIPE, env={'LANG':'de_DE@euro','TZ':'Europe/Berlin'})
outputrrd = processrrd.communicate()
(output, error) = outputrrd
现在我想使用multiprocessing.pool来并行化worker。
问题是变量outputrd ist被最后一个Popen覆盖。
那么,是否可以创建一个特定的变量(processrrd),比如name1\u processrrd
问候。
斯特凡
乌德帕特:
尝试了这个,但进程的输出是相同的…:
processrrd = []
processrrd.append((hostgroup+'_processrrd'))
print processrrd
for name in processrrd:
print name
name = Popen(args1, stdout=PIPE, stderr=PIPE, env={'LANG':'de_DE@euro','TZ':'Europe/Berlin'})
outputrrd = name.communicate()
(output, error) = outputrrd
如果不考虑
多处理
是否为您提供了更好的方法(我猜是的,但我并不十分了解),您最好将每个句柄存储在某种数据结构中,例如dict
或list
,例如
# TODO Use name and key that works for you.
my_processes['de_DE@euro'] = Popen(args1, stdout=PIPE, stderr=PIPE, env={'LANG':'de_DE@euro','TZ':'Europe/Berlin'})
如果不考虑
多处理
是否为您提供了更好的方法(我猜是的,但我并不十分了解),您最好将每个句柄存储在某种数据结构中,例如dict
或list
,例如
# TODO Use name and key that works for you.
my_processes['de_DE@euro'] = Popen(args1, stdout=PIPE, stderr=PIPE, env={'LANG':'de_DE@euro','TZ':'Europe/Berlin'})
在运行时生成变量是可能的,但不鼓励这样做。使用列表。可以在运行时生成变量,但不鼓励这样做。使用列表。