2017-09-10 36 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