gpt4 book ai didi

python子进程输出到列表或文件

转载 作者:太空狗 更新时间:2023-10-29 22:00:13 25 4
gpt4 key购买 nike

我想在 Python 3 中运行以下 bash 命令:

ls -l

我知道我可以做到以下几点:

from subprocess import call
call(['ls', '-l'])

如何将此输出保存到文件,或将其放入列表或集合中?

[-rw-r--r--]  [1] [name]  [staff]   [426] [14 Jan 21:52] [HelloWorld.class]
[-rw-r--r--@] [1] [name] [staff] [107] [14 Jan 21:51] [HelloWorld.java]
...
etc.

我希望能够直接访问特定信息,然后将其添加到集合中,但我不知道会列出多少项。

任何提示、片段或示例都会很有帮助。

最佳答案

使用 >= python3.5 你可以使用 subprocess.run :

ls_lines = subprocess.run(['ls', '-l'], stdout=PIPE).stdout.splitlines()

使用 >= python2.7 或 >= python3.0 你可以使用 subprocess.check_output :

ls_lines = subprocess.check_output(['ls', '-l']).splitlines()

在python2.7之前,需要使用更底层的api,复杂一点。

ls_proc = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE)
ls_proc.wait()
# check return code
ls_lines = ls_proc.stdout.readlines()

关于python子进程输出到列表或文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8880461/

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