gpt4 book ai didi

python - 通过在文本文件中写入输出在 python 中调用 linux shell

转载 作者:太空宇宙 更新时间:2023-11-04 09:28:58 26 4
gpt4 key购买 nike

我想在 Python 代码中调用系统 shell,并将结果写入文本文件。当我写这个命令时:

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() 返回的文件对象

关于python - 通过在文本文件中写入输出在 python 中调用 linux shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33577686/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com