2017-09-10 38 views
-1

YouTube視頻,如果我這樣做CMD:下載使用Python的子

的YouTube-DL -i -w 「ytsearch:有趣的動物」

然後,它會成功下載與第一視頻檔案查詢名稱有趣的動物,但是當我使用Python代碼

from subprocess import call 

command = 'youtube-dl -i -w ytsearch:funny animals' 
call(command.split(), shell=False) 

它下載而不是搞笑寫了同樣的事情有趣的動物。請幫忙!

回答

2

您的視頻名稱它有一個空間......你可以嘗試在不同的分隔符,而不是分裂。如果你的視頻名稱包含相同的分隔符出現

command = 'youtube-dl|-i|-w|ytsearch:funny animals' 
call(command.split('|'), shell=False) 

更多的問題。一個更好的解決方案是明確地通過列表:

call(['youtube-dl', '-i', '-w', 'ytsearch:funny animals'], shell=False) 
+1

非常感謝!我需要等待7分鐘才能接受你的答案。 – blacklight

+0

@blacklight當你'command.split()'就變成'[ '的YouTube-DL', '-i', '-w', 'ytsearch:搞笑', '動物']'。這裏'animals'是'subprocess.call()'的另一個選項,而不是'ytsearch:'的一部分。 – ritiek