有可能产生一个动态变量吗?

2024-10-01 05:00:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我想调用一个函数,它启动一个子进程,就像这样:

processrrd = Popen(args1, stdout=PIPE, stderr=PIPE, env={'LANG':'de_DE@euro','TZ':'Europe/Berlin'})
outputrrd = processrrd.communicate()
(output, error) = outputrrd

现在我想用多处理池为了使工人平静下来。 问题是变量outputrd被最后一个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

Tags: nameenvlang进程stderrstdoutdetz
1条回答
网友
1楼 · 发布于 2024-10-01 05:00:12

甚至不考虑multiprocessing是否提供了更好的方法(我猜是的,但我并不十分清楚),最好将每个句柄存储在某种数据结构中,例如dictlist

# 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'})

相关问题 更多 >