python 成为啥报错?

from scrapy.cmdline import execute
import sys

if __name__ == '__main__':
    if sys.argv[1] == "xiaomiquan":
        execute("scrapy crawl %s" % sys.argv[1].split())
    elif sys.argv[1] == "reportapp":
        execute("scrapy crawl %s" % sys.argv[1].split())
    elif sys.argv[1] == "baidusearch":
        execute("scrapy crawl %s" % sys.argv[1].split())

Traceback (most recent call last):
  File "main.py", line 6, in <module>
    execute("scrapy crawl %s" % sys.argv[1].split())
  File "/home/shenjianlin/.local/lib/python3.4/site-packages/scrapy/cmdline.py", line 130, in execute
    cmdname = _pop_command_name(argv)
  File "/home/shenjianlin/.local/lib/python3.4/site-packages/scrapy/cmdline.py", line 58, in _pop_command_name
    del argv[i]
TypeError: 'str' object doesn't support item deletion

阅读 2k
2 个回答

错误提示不是很明确了么。str对象不支持元素删除,你传的sys.argv[1]是个str,这样的用法下scrapy里会有一步删除的操作。按楼上说的去看文档用api吧,别cmd了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题