python之sys.argv[1] IndexError: list index out of range

第一点:sys.argv[ ] 函数必须在命令行中执行。
所以你得先写一个关于sys.argv[ ]的python程序,再拿到命令行中执行。

文件名: test.py

import sys
print(‘sys.argv’) #为了一会再运行结果中看到sys.argv中的内容

1
2
3
4
接下来拿他到命令行中执行。打开命令行,先切换到“D:\python\python38"(因为我的test.py存在这个列表下)然后输入
python test.py xxx
"xxx"为你索要输入的变量
例如我所输入的为a
输出结果为[‘test.py’,‘a’]
到这里你就会发现sys.argv其实就是一个字典函数。而往sys.argv中添加变量,就是上面的方法。

第二点:既然sys.argv[ ]为字典,那么我们就可以使用sys.argv[1]调出变量
可是当我们无论在命令行中的python还是IDLE中输入sys.argv[1]。
都调不出我刚才所导入的a。而出现了:
list index out of range(是超出了sys.argv字典范围的意思)
也就是说字典中的元素少于2个,这就说明了‘a’并没有被导入sys.argv中。
原因是sys.argv[ ]是一次性生效的。
也就是说执行的那一刻才生效,所以你如果要使用的话,就必须把sys.argv[ 1]也先写入test.py。例如:

文件名: test.py

import sys
print(sys.argv) # 显示字典中的变量
print(sys.argv[1]) #调出我们所导入的变量,也就是我们的目的
1
2
3
4
再次在命令行中运行:
果然我们导入的参数”a“被调出来了。
不光是简单的‘a’,
python test.py xxx
"xxx"为你索要输入的变量
'xxx’可以是文件,图片,数字…。
————————————————
版权声明:本文为CSDN博主「晓看天色暮看云!」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_46328786/article/details/104340746

posted @   LeoSharh  阅读(581)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示