首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:只能将list (非"str")连接到list subprocess.call

TypeError:只能将list (非"str")连接到list subprocess.call
EN

Stack Overflow用户
提问于 2014-03-17 10:25:17
回答 1查看 1.8K关注 0票数 0

我正在尝试构建一个小脚本来下载视频。我在尝试将integer传入subprocess.call时遇到问题。提前谢谢

代码语言:javascript
复制
# 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) 

回溯(最近一次调用):

代码语言:javascript
复制
  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 list

subprocess.call是第21行

EN

回答 1

Stack Overflow用户

发布于 2014-03-17 10:37:33

错误消息告诉您不能将列表(例如:['foo', 'bar'])连接到字符串(例如:'baz')。您可能想要做的是将您的单个参数包装在列表中,或者更简洁地说,使其成为原始列表的一部分:

(将其封装在列表中)

代码语言:javascript
复制
# SNIP
import subprocess
subprocess.call(["youtube-dl", "-f "] + [Q] + [URL]) 

(使其成为原始列表的一部分

代码语言:javascript
复制
# SNIP
import subprocess
subprocess.call(['youtube-dl', '-f', Q, URL]) 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22445931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档