gpt4 book ai didi

python - 在数据文件的文件夹上运行 4 个并发的 python 脚本实例

转载 作者:太空狗 更新时间:2023-10-30 00:46:26 26 4
gpt4 key购买 nike

我们有一个包含 50 个数据文件(下一代 DNA 序列)的文件夹,需要通过在每个文件上运行 python 脚本来转换这些数据文件。该脚本每个文件需要 5 个小时,它是单线程的,并且主要受 CPU 限制(CPU 核心以 99% 的速度运行,磁盘 IO 最少)。

由于我有一台 4 核机器,我想同时运行该脚本的 4 个实例以大大加快该过程。

我想我可以将数据分成 4 个文件夹,并同时在每个文件夹上运行以下 bash 脚本:

files=`ls -1 *`
for $file in $files;
do
out = $file+=".out"
python fastq_groom.py $file $out
done

但必须有更好的方法在一个文件夹上运行它。我们可以使用 Bash/Python/Perl/Windows 来做到这一点。
(遗憾的是使脚本多线程超出了我们的能力范围)


使用@phs xargs 解决方案是我们解决问题的最简单方法。但是,我们要求原始开发人员实现@Björn 的回答。再次感谢!

最佳答案

您可以使用 multiprocessing -模块。我想你有一个要处理的文件列表和一个为每个文件调用的函数。然后你可以简单地使用这样的工作池:

from multiprocessing import Pool, cpu_count

pool = Pool(processes=cpu_count)
pool.map(process_function, file_list, chunksize=1)

如果您的process_function 没有返回值,您可以简单地忽略返回值。

关于python - 在数据文件的文件夹上运行 4 个并发的 python 脚本实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8968373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com