【发布时间】:2021-02-19 14:35:33
【问题描述】:
我正在尝试将一些用户输入从 main 或外部 main 传递给在多处理池中运行的函数。代码如下:
import multiprocessing
global var1
var1 = input("enter input: ")
def function1(arg1_A):
x = var1 + 'string'
do stuff
def MCprocess():
pool = multiprocessing.Pool(4)
pool.map(function1, listarg1)
if __name__ == '__main__':
MCprocess()
我应该把 input() 函数放在哪里,以便 function1 的所有实例都能接收到它?有更好的方法吗?
澄清一下。我尝试在函数中将 var1 声明为全局 var1。这没有奏效。
【问题讨论】:
-
modules模块有什么作用,arg1是什么?你也能说出“那没有用”是什么意思吗?也是multiprocessing可以依赖于操作系统,你关心哪个操作系统。见stackoverflow.com/help/mcve -
@SamMason 多处理是一个 python 模块。你需要一个 import 语句来导入它。我更新了代码以显示我正在导入该模块。我正在进口其他人。感谢您指出 arg1。我也更新了。在 MCprocess 中,listarg1 是要处理的文件列表。在 function1 中,arg1_A 是属于该列表的个人(任何个人)。
-
道歉。错过了操作系统的请求。 Windows10。
-
我没有在 Windows 下测试我的答案,但我希望它可以工作
-
我做到了。有用。接受了你的回答。感谢您的帮助。
标签: python windows multiprocessing