image_url = sys.argv [1] IndexError:列表索引超出范围 [英] image_url = sys.argv[1] IndexError: list index out of range

查看:182
本文介绍了image_url = sys.argv [1] IndexError:列表索引超出范围的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对以下Python代码部分有疑问:

I am having an issue with the following section of Python code:

import sys  
import requests  
import firebase_admin  
from firebase_admin import credentials  
from firebase_admin import storage  
image_url = sys.argv[1]  
cred = credentials.Certificate('certificate.json')  
firebase_admin.initialize_app(cred,{'storageBucket':'gs://rpi-demo-6d21d.appspot.com'})  
bucket = storage.bucket()  
image_data = requests.get(image_url).content  
blob = bucket.blob('happy.jpg')  
blob.upload_from_string(image_data,content_type='image/jpg')  
print(blob.public_url)

具体错误如下:

Traceback (most recent call last):
File "demo4.py", line 6, in <module>
image_url = sys.argv[1]
IndexError: list index out of range

推荐答案

sys.argv列表是通过传递给脚本的命令行参数填充的,因此,如果未提供任何参数,则可能会收到类似

sys.argv list is populated from the command line arguments passed to the script, so in case none are provided it's expected to get an error like

Traceback (most recent call last):
File "demo4.py", line 6, in <module>
image_url = sys.argv[1]
IndexError: list index out of range

简单的复制方法是

import sys
print(sys.argv[1])

demo.py中的

并使用python demo.py运行它.您将获得输出

in demo.py and run it using python demo.py. You'll get the output

$ python demo.py
Traceback (most recent call last):
  File "demo.py", line 2, in <module>
    print(sys.argv[1])
IndexError: list index out of range

但是如果您使用python demo.py foo将参数传递给它,则会得到所需的输出:

but if you pass an argument to it using python demo.py foo you'll get the desired output:

$ python demo.py foo
foo

特别是对于您的示例,看起来像在调用demo4.py脚本时未传递图像url命令行参数.您可以使用python demo4.py <image_url_goes_here>传递它.

Specifically for your example, looks like when calling demo4.py script you're not passing image url command line argument. You can pass it using python demo4.py <image_url_goes_here>.

这篇关于image_url = sys.argv [1] IndexError:列表索引超出范围的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆