命令的捕获输出在终端中的变量中运行

问题描述 投票:-1回答:1

我正在尝试捕获我从运行到变量中的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时捕获所有数据。

python subprocess
1个回答
0
投票

[如果您想避免显式使用subprocess.Popen()的麻烦,那就去os.popen("command").read()-它在引擎盖下运行前者,在我的情况下,p2 = os.popen("ls -l").read()的结果看起来恰到好处。

© www.soinside.com 2019 - 2024. All rights reserved.