我正在读取一个文件&基于分隔符“AC.26”写入另一个文件。我使用的是文件中的行,但是XML数据中有新的行,这不能给出正确的结果。所以我用
os.popen ("cut -d '|' -f2 " + tempfile + ' > ' + targetfile)
但是,虽然这会执行我在python中的其他命令& count结果变成incorrect.So,但我尝试按下面的方式使用subprocess.call &因为命令不正确。
subprocess.call("cut -d '|' -f2 " + tempfile + ' > ' + targetfile)
有人能帮助正确格式化此命令以便将其正确解析为Python吗?tempfile & values文件是完整文件路径的参数化值。
发布于 2022-02-25 15:54:41
默认情况下,subprocess.call
(a)需要命令行参数列表,而不是字符串,(b)不使用shell运行,因此不能使用>
或其他i/o重定向机制。有几种“修复”代码的方法:
您已经使用了一种具有丰富功能的语言来操作文本。您不需要调用像cut
这样的程序:
以open(tempfile)作为infd,open(targetfile,"w")作为outfd: for line in infd: outfd.write(line.split("|")1)
shell=True
,以便该命令由shell执行:{targetfile}") (subprocess.call)(f“剪切-d‘-f2’-f2 {tempfile} >-f2)
https://stackoverflow.com/questions/71272750
复制相似问题