我做了一个python脚本来下载一些视频使用youtube-dl。当我运行这个脚本时,它下载了第一个视频,然后一直打印已经下载的其他视频。
下面是这个脚本。
import re , os
formula = re.compile(r'https.+')
os.chdir('/home/ubuntu/Desktop/TO MASTER THIS VACATION')
urls = []
with open('Python necessary videos.txt' , 'r') as f:
for line in f:
mo = formula.findall(line)
if mo:
urls.append(mo[0])
cmd = 'youtube-dl -f 22 '
for i in urls:
print("Video url : "+str(i))
cmd = cmd + str(i)
os.system(cmd)
我做错了什么?
P.S.
由于它被要求分享 "Python necessary videos.txt "的一些行。在这里我分享其中的几行...
Python教程1https:/youtu.be*$!@&_
Python教程2https:/youtu.be@#@。$>?
注意,这里我把原来的url改了。
cmd = cmd + str(i)
你不断添加新的URLs到命令中,所以在第一次迭代中你调用了
youtube-dl -f 22 url1
而后
youtube-dl -f 22 url1 url2
以此类推。
你应该为基本命令使用不同的变量名,这样才能使 cmd
每次都会创建新的,而不是重复使用以前的URL。
例如:
base_cmd = 'youtube-dl -f 22 '
# ...
cmd = base_cmd + str(i)