使python脚本更快地处理大量文件

时间:2016-07-05 15:35:57

标签: python scripting

我编写了一个python脚本,它将输入作为目录并列出该目录中的所有文件,然后解压缩每个文件并对其进行一些额外的处理。代码非常简单,使用os.listdir(目录)中的文件列表,并对列表中的每个文件进行解压缩,然后对其执行一系列不同的系统调用。我的问题是,是否有任何方法可以使循环执行并行或使代码运行更快,利用cpu上的核心,可能是什么,下面是一些演示代码来描述我的目标是优化:

files = os.listdir( directory )
for file in files:
    os.system( "tar -xvf %s" %file )
    os.system( "Some other sys call" )
    os.system( "One more sys call" )

编辑:sys调用是唯一可行的方法,因为我使用某些CLI定制的实用程序,期望输入作为解压缩文件,因此解压缩。

1 个答案:

答案 0 :(得分:0)

注意os.system()是同步的,即python在转到下一行之前等待任务完成。

这是我在Windows 7和Python 2.66上所做的简化 您应该可以根据需要轻松修改它     1.为我想要并行运行的每个任务创建并运行一个流程
    2.他们全部开始后我等他们完成

getServerAuthCode()