天天看点

python argv

问题:

pycharm里面跑一个py文件,main函数如下:

if __name__ == '__main__':
   with open(sys.argv[1]) as file:
       data = json.load(file)

           

一debug就报错:

with open(sys.argv[1]) as file:
IndexError: list index out of range
           

一查,说是 sys.argv是个列表,一般 sys.argv[0]是完整路径,如果不规定的话,索引1及之后都是空,因此会说超出索引范围。因为这参数是从程序外部输入的,而非代码本身的什么地方,所以在pycharm里面,没法接收到。(暂时这么理解)需要跑通只能在终端运行。

测试一下:

python argv

(索引0和索引1都是str数据类型)

继续阅读