如何将Ruby的IO.popen调用转换为Python的subprocess.Popen调用?
我看过文档,也在REPL里尝试了很多东西,还在网上搜索过,但我就是搞不懂Python里的subprocess.Popen是怎么工作的。
这是我正在使用的一段Ruby代码:
IO.popen("some-process") do |io|
while(line = io.gets)
# do whatever with line
end
end
我该怎么用subprocess.Popen把它转换成Python代码呢?
2 个回答
0
import subprocess
process = subprocess.Popen(['ls',], stdout=subprocess.PIPE)
print process.communicate()[0]
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。
2
可能是你 Ruby 代码在 Python 中最简单的“近亲”:
>>> import subprocess
>>> io = subprocess.Popen('ls', stdout=subprocess.PIPE).stdout
>>> for line in io: print(line.strip())