我想使用子进程从python调用sed。我尝试使用的脚本如下。但是,这将sed输出传输到标准终端。似乎'>'操作符不能从我的subprocess.call语句中识别。有什么建议么?Python - 使用子进程调用sed?
import sys
import os
import subprocess
files = os.listdir(sys.argv[1])
count = 0
for f in files:
count += 1
inp = sys.argv[1] + f
outp = '../' + str(count) + '.txt'
sub = subprocess.call(['sed', 's/\"//g', inp, '>', outp])
另外 - 我的文件名中有空格,即“file1 .txt”。这可能是问题吗?当我从终端调用sed时,我的sed命令正常工作,而不是从脚本中调用。
谢谢。
任何理由不在Python本身做到这一点? – robert
@robert +1这是一个很好的观点,你应该提供它,包括解决方案,作为答案。 – Nix