Sch*_*tod 4 python shell command exec
是否有一种"好的"方法来迭代shell命令的输出?
我正在寻找类似以下内容的python:
ls | while read file; do
echo $file
done
Run Code Online (Sandbox Code Playgroud)
请注意,'ls'只是shell命令的一个示例,它将返回多个行的结果,因为'echo'只是:用它做一些事情.
我知道这些替代方案:在Python中调用外部命令但我不知道使用哪一个或者是否有一个"更好"的解决方案.(事实上,"更好"是这个问题的主要焦点.)
这是用python替换一些bash脚本.
beh*_*uri 11
你可以打开一个管道(见文档):
import os
with os.popen('ls') as pipe:
for line in pipe:
print (line.strip())
Run Code Online (Sandbox Code Playgroud)
就像在文档中一样,这种语法被折旧并被更复杂的替换 subprocess.Popen
from subprocess import Popen, PIPE
pipe = Popen('ls', shell=True, stdout=PIPE)
for line in pipe.stdout:
print(line.strip())
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6228 次 |
最近记录: |