gpt4 book ai didi

Python:迭代 shell 命令结果的好方法

转载 作者:太空狗 更新时间:2023-10-30 01:54:43 27 4
gpt4 key购买 nike

是否有一种“不错”的方法来遍历 shell 命令的输出?

我正在寻找类似 python 的东西:

ls | while read file; do
echo $file
done

请注意,'ls' 只是一个 shell 命令的示例,它将以多行的形式返回它的结果,并且因为 'echo' 只是:用它做一些事情。

我知道这些替代品:Calling an external command in Python但我不知道该使用哪个,也不知道是否有“更好”的解决方案。 (事实上​​,“更好”是这个问题的主要焦点。)

这是为了用 python 替换一些 bash 脚本。

最佳答案

你可以打开一个管道(参见 doc ):

import os

with os.popen('ls') as pipe:
for line in pipe:
print (line.strip())

如文档中所述,此语法已弃用并被更复杂的 subprocess.Popen 取代

from subprocess import Popen, PIPE
pipe = Popen('ls', shell=True, stdout=PIPE)

for line in pipe.stdout:
print(line.strip())

关于Python:迭代 shell 命令结果的好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20388992/

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