我很难为当前目录中的每个文件夹创建子进程,以便对它们执行某些功能(Python 2.7)。
我的想法是:
迭代所需数量的叉子,并在每次迭代中执行文件夹的代码,一次两个,从包含所有文件夹路径的列表中获取路径。
for counter in needed_forks:
folder_pid = os.fork()
if pid:
some_function(folder_list[counter])
else:
some_function(folder_list[counter+1])
我无法得到任何好的输出,主要是因为,我认为,每次迭代中重复的folder_list的一个索引。 任何帮助都非常感激,我正忙着完成这项任务,试图立即学习多处理和Python。
感谢。
答案 0 :(得分:2)
为什么不让一个进程继续分叉?然后您不必尝试计算要使用的货叉数量:
for d in directories:
if os.fork():
# parent
continue
else:
# child
# handle d...
break # don't keep going
当然,我质疑使用fork
以这种方式处理目录的智慧......