Как мне перевести вызовы Ruby IO.popen в вызовы подпроцесса Python. Открытые вызовы? - PullRequest
0 голосов
/ 27 марта 2010

Я прочитал документацию и много чего перепробовал в REPL и в Google, но я не могу понять, как подпроцесс .Popen работает в Python.

Вот код Ruby, который я использую:

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

Как мне перевести это на Python, используя subprocess.Popen?

Ответы [ 2 ]

2 голосов
/ 28 марта 2010

Вероятно, самый простой "близкий родственник" вашего кода Ruby в Python:

>>> import subprocess
>>> io = subprocess.Popen('ls', stdout=subprocess.PIPE).stdout
>>> for line in io: print(line.strip())
0 голосов
/ 28 марта 2010
import subprocess

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