我正在尝试构建一个小脚本来下载视频。我在尝试将integer传入subprocess.call时遇到问题。提前谢谢
# test url for analysis
URL = 'https://www.youtube.com/watch?v=7WauUpq4N8I'
import subprocess
subprocess.call("youtube-dl -F '%s'" %URL, shell=True)
print
# outlist numerical list of options
#input choice
Q = raw_input('Please select download quality from above ')
print
# pass input Q (integer) to subprocess.call
import subprocess
subprocess.call(["youtube-dl -f "] + Q ,["'%s'" %URL], shell=True) 回溯(最近一次调用):
File "./youtube.py", line 21, in <module>
subprocess.call(["youtube-dl -f "] + Q ,["'%s'" %URL], shell=True)
TypeError: can only concatenate list (not "str") to listsubprocess.call是第21行
发布于 2014-03-17 10:37:33
错误消息告诉您不能将列表(例如:['foo', 'bar'])连接到字符串(例如:'baz')。您可能想要做的是将您的单个参数包装在列表中,或者更简洁地说,使其成为原始列表的一部分:
(将其封装在列表中)
# SNIP
import subprocess
subprocess.call(["youtube-dl", "-f "] + [Q] + [URL]) (使其成为原始列表的一部分
# SNIP
import subprocess
subprocess.call(['youtube-dl', '-f', Q, URL]) https://stackoverflow.com/questions/22445931
复制相似问题