如何将Ruby的IO.popen调用转换为Python的subprocess.Popen调用?

时间:2010-03-27 20:55:54

标签: python ruby subprocess popen io

我已经阅读了文档,我已经在REPL和Googled中尝试了很多东西,但我不能为我的生活理解subprocess .Popen在Python中工作。

以下是我正在使用的一些Ruby代码:

IO.popen("some-process") do |io|
  while(line = io.gets)
    # do whatever with line
  end
end

如何使用subprocess.Popen将其翻译成Python?

2 个答案:

答案 0 :(得分:2)

可能是Python中Ruby代码中最简单的“近亲”:

>>> import subprocess
>>> io = subprocess.Popen('ls', stdout=subprocess.PIPE).stdout
>>> for line in io: print(line.strip())

答案 1 :(得分:0)

import subprocess

process = subprocess.Popen(['ls',], stdout=subprocess.PIPE)
print process.communicate()[0]