将子流程重定向到变量作为字符串

Dav*_*542 7 python

使用以下命令,它将打印'640x360'

>>> command = subprocess.call(['mediainfo', '--Inform=Video;%Width%x%Height%', 
'/Users/Desktop/1video.mp4'])

640x360
Run Code Online (Sandbox Code Playgroud)

我如何设置一个等于输出字符串的变量,所以我可以得到x='640x360'?谢谢.

Sco*_*t A 13

如果您使用的是2.7,则可以使用subprocess.check_output():

>>> import subprocess
>>> output = subprocess.check_output(['echo', '640x360'])
>>> print output
640x360
Run Code Online (Sandbox Code Playgroud)

如果不:

>>> p = subprocess.Popen(['echo', '640x360'], stdout=subprocess.PIPE)
>>> p.communicate()
('640x360\n', None)
Run Code Online (Sandbox Code Playgroud)