繁体   English   中英

在python中调用linux shell并在文本文件中写入输出

[英]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)

相当不言自明; stdinstdoutstderr用于像open()返回的文件对象

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM