friend ,
我有一个简单的脚本
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 找不到操作数。但如果我将它们写在一起,它也不会删除文件。
谢谢
xf
最佳答案
如果您使用 shell=True
,您必须将字符串传递给 subprocess.call
,而不是列表。参见 http://docs.python.org/library/subprocess.html#subprocess.call更多细节。
但是,由于安全隐患,不建议使用 shell=True
调用子进程。您应该删除 shell=True
并保留列表样式的参数。
关于python, subprocess.call( ["rm", "inv.mt0"], shell=True) 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12045986/