【发布时间】:2011-11-03 17:00:05
【问题描述】:
--大家好,--
我有大约 4000 个 (1-50MB) 文件要排序。
我正在考虑让 Python 调用 Linux 排序命令。而且由于我认为这可能有点受 I/O 限制,所以我会使用线程库。
这就是我所拥有的,但是当我运行它并观察系统监视器时,我没有看到 25 个排序任务弹出。它似乎一次运行一个?我做错了什么?
...
print "starting sort"
def sort_unique(file_path):
"""Run linux sort -ug on a file"""
out = commands.getoutput('sort -ug -o "%s" "%s"' % (file_path, file_path))
assert not out
pool = ThreadPool(25)
for fn in os.listdir(target_dir):
fp = os.path.join(target_dir,fn)
pool.add_task(sort_unique, fp)
pool.wait_completion()
【问题讨论】:
标签: python linux multithreading threadpool