朋友们
我有一个简单的脚本
import subprocess
subprocess.call(["./run_xf"])
old=open('./inv.mt0','r')
lines=old.readlines()
lines=lines[3:]
new=open('./inv.mt1','w')
new.writelines(lines)
old.close()
new.close()
subprocess.call(["rm", "inv.mt0"], shell=True)
除最后一个代码外,所有代码均有效。
run_xf运行hspice并生成inv.mt0。然后我将inv.mt0的一部分复制到inv.mt1。然后我要删除inv.mt0。但这是行不通的。
对于此特定示例,它抱怨rm找不到操作数。但是,如果我一起写它们,它也不会删除文件。
谢谢
f
最佳答案
如果使用的是shell=True
,则必须将字符串传递给subprocess.call
,而不是列表。有关更多详细信息,请参见http://docs.python.org/library/subprocess.html#subprocess.call。
但是,出于安全考虑,不建议使用shell=True
调用子流程。您应该删除shell=True
并保留列表样式的args。
关于python - python,subprocess.call([“rm”,“inv.mt0”],shell = True)无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12045986/