7
用下面的命令,它打印 '640×360'
>>> command = subprocess.call(['mediainfo', '--Inform=Video;%Width%x%Height%',
'/Users/david/Desktop/1video.mp4'])
640x360
我怎麼設置一個變量等於輸出的字符串,所以我可以得到x='640x360'
?謝謝。
更新:答案可以在這裏找到:Parsing a stdout in Python。這爲我工作:
>>> p1 = subprocess.Popen(['mediainfo', '--Inform=Video;%Width%x%Height%',
'/Users/david/Desktop/10stest720p.mov'],stdout=PIPE)
>>> output=p1.communicate()[0].strip('\n')
>>> output
'1280x688'
我只是輸入相同的答案,但只是想說,我建議使用Popen而不是調用,因爲它稍微更明確,並且執行相同的操作。 subprocess.call只是Popen的一個便利功能。 – Vorticity
但call()打印輸出並返回進程的退出代碼,如果處理超過,則返回0。 – rocksportrocker
這是我忘記的好點。鑑於此,在2.7之前call()可能是更好的方法,但Scott Anderson的答案可能在2.7中更好,因爲它會自動檢查名義退出狀態。 – Vorticity