我正在尝试捕获我从运行到变量中的python脚本获取的所有数据。我从脚本中的用户那里获取了一些输入,并且想要捕获从头到尾的所有内容。
几乎与此类似:Running shell command and capturing the output
但是再次使用脚本中的子进程来获取输出。
我想要的是这样的:
当我在终端中运行ls -l时,我希望我的脚本捕获ls -l的输出
如果我写:
p2 = subprocess.Popen('ls' ,'-l',stdout= subprocess.PIPE).communicate()[0])
在我的脚本中,它将执行两次脚本。
[期望的输出是当我在要在p2中捕获的终端中运行ls -l时捕获所有数据。
[如果您想避免显式使用subprocess.Popen()
的麻烦,那就去os.popen("command").read()
-它在引擎盖下运行前者,在我的情况下,p2 = os.popen("ls -l").read()
的结果看起来恰到好处。