我已经阅读了文档,并且在 REPL 中尝试了很多东西,并在 Google 上搜索过,但我一生都无法理解subprocess .Popen 在 Python 中是如何工作的。
这是我正在使用的一些 Ruby 代码:
IO.popen("some-process") do |io|
while(line = io.gets)
# do whatever with line
end
end
如何使用 subprocess.Popen 将其翻译成 Python?
可能是 Python 中 Ruby 代码最简单的“近亲”:
>>> import subprocess
>>> io = subprocess.Popen('ls', stdout=subprocess.PIPE).stdout
>>> for line in io: print(line.strip())
import subprocess
process = subprocess.Popen(['ls',], stdout=subprocess.PIPE)
print process.communicate()[0]