【问题标题】:sys.argv[1]. IndexError: list index out of range [duplicate]sys.argv[1]。 IndexError:列表索引超出范围[重复]
【发布时间】:2017-11-12 09:26:24
【问题描述】:

我想找出 2 张图片之间的相似性,但出现此错误

if __name__ == '__main__':
  img1 = sys.argv[0]
  img2 = sys.argv[1]

  # Create image objects
  image1 = Image.open(img1)
  image2 = Image.open(img2)

  # Test pixel by pixel
  get_image_pixel_similarity(img1, img2)

sys.argv[1]。 IndexError: 列表索引超出范围

我该如何解决我的问题?

【问题讨论】:

  • 您输入的启动脚本的命令是什么?
  • 如何运行脚本?另外: sys.argv[0] 是脚本的名称;你需要 sys.argv[1] 和 sys.argv[2]。

标签: python python-2.7


【解决方案1】:

您输入的命令必须是:

python script.py img1 img2

那么,你必须使用:

img1 = sys.argv[1]
img2 = sys.argv[2]

我建议你在一行中这样做:

img1, img2 = sys.argv[1:2]

argv 是以脚本名称开头的列表。

【讨论】:

  • 如果1 超出范围,那么1: 更超出范围...
  • img1, img3 = sys.argv[1:2],如果sys.argv 中没有 2 个项目,则可以回避问题。
猜你喜欢
  • 2017-11-03
  • 1970-01-01
  • 2016-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-13
  • 2015-06-20
相关资源
最近更新 更多