[英]calling linux shell in python with writing output in a text file
我想用Python代码调用系统外壳并将结果写入文本文件中。 当我编写此命令时:
call(["ls", "-lrt"])
调用过程将进行并在屏幕上输出文件和文件夹列表作为输出。 但是,当我尝试将打印的输出写入文本文件(而不是屏幕)时,它不起作用! 我尝试了所有这些:
call(["ls", "-lrt", ">", "result.txt"])
call(["ls", "-lrt", "> result.txt"])
call(["ls -lrt > result.txt"])
但是在Linux shell中,此命令“ ls -lrt > result.txt
”可以很好地工作。
我正在使用Linux CentOS 7,而我的Python版本是2.7.5。
如果有人可以帮助我解决这个简单的问题,我将不胜感激。
使用像这样的subprocess.call
subprocess.call(["ls", "-lrt"], stdout=open("foo.txt",'w'))
功能的签名
subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False)
相当不言自明; stdin
, stdout
和stderr
用于像open()返回的文件对象
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.