【发布时间】:2017-06-21 14:16:46
【问题描述】:
我正在使用带有 python 2.7 的 Ubuntu,
我需要获取一个文件夹中的所有文件,并分别计算每个文件中的行数并将其转储到一个文件中。
我找到了如何通过终端直接使用并行处理here
当我尝试时它崩溃了:
subprocess.Popen('ls %s* | parallel -k zcat {} | wc -l >%s'%(dir,outputfile), shell=True)
现在我正在尝试通过 python 使用该终端命令, 似乎它无法获取文件列表并将它们用作文件,而只能计算文件列表的长度。
p1 = subprocess.Popen(["ls", dest], stdout=subprocess.PIPE)
output = subprocess.check_output(["wc", "-l"], stdin=p1.stdout)
当我想要每个文件中有多少行的列表时,给我文件夹中的文件数。
我如何使用 python 来执行一个命令: 给我一个文件夹中每个文件有多少行的列表,并将使用并行(或任何其他好的多核方法)来完成
【问题讨论】:
-
在unix shell中一行就可以解决
标签: python bash python-2.7 ubuntu terminal