似乎在两个地方断了,一个是">",两个是" / tmp / testing"。
Python 2.7.5 (default, Aug 29 2016, 10:12:21)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import subprocess
>>> subprocess.call(["ls", "-ltr", ">", "/tmp/testing"])
ls: cannot access >: No such file or directory
ls: cannot access /tmp/testing: No such file or directory
2
>>> exit()
我用谷歌搜索,并找到其他方法来实现我的需要。
with.open("/tmp/testing","w") as f:
subprocess.call(["ls", "-ltr"], stdout=f)
想知道为什么第一个脚本不起作用。
答案 0 :(得分:1)
您尝试用来重定向delayF
输出的delayF is not defined
由您的shell实现,而不是由delay
本身实现。当您使用delayF
时,它(默认情况下)不使用shell来运行程序。您可以通过传递>
作为参数来更改它(您可能还需要更改命令的传递方式)。
或者,您可以使用Python代码而不是shell来自行处理输出到文件的重定向。尝试这样的事情:
ls