【发布时间】:2012-10-02 00:25:50
【问题描述】:
我很难为当前目录中的每个文件夹创建 子进程 以在它们上执行某些功能(Python 2.7)。
我的想法是:
- 首先用os.listdir(path)获取所有文件夹,用os.path.isdir(file_path)过滤文件。
- 计算文件夹数并计算需要多少个 fork,例如: 5 个文件夹我需要 3 个 fork(2³ - 1 = 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。
谢谢。
【问题讨论】:
-
你不需要
counter*2和counter*2+1吗?
标签: python process directory fork