python中sys.argv[1]错误:IndexError: list index out of range?

如图,读取Excel,运行就报错,求大神指导一下怎样损伤。... 如图,读取Excel,运行就报错,求大神指导一下怎样损伤。 展开
 我来答
hy1397471
2020-06-04 · 知道合伙人软件行家
hy1397471
知道合伙人软件行家
采纳数:4714 获赞数:17154
15年数据库维护及数据库应用系统开发经验,从事零售业、服务业及财务管理类系统开发与维护。

向TA提问 私信TA
展开全部

你没有理解这个argv是什么。

比如打印hello world程序

注意运行的方式,是python + py文件名,

然后我们如果想打印“I'm Abc”,那我们就会想到,源代码的"hello word"改成I'm Abc”,可是之后又想打印I'm DDD”,是不是需要再次修改源代码。

那有没有一种方法,在程序运行的时候,给它什么字符串,就打印什么字符串。

这时候就有了argv,也就是运行py程序,给程序传递一个参数。

再来看这次的运行方式,py文件后面多了一个参数 “keep coding”


回到你的程序,程序本身没有问题,而是你运行py程序的时候,没有携带参数,就和上面说的keep coding”一样,所以sys.argv[1]是不存在的,因此报错“索引越界了”。

紫翼天意
2020-06-04
知道答主
回答量:25
采纳率:0%
帮助的人:11.3万
展开全部
sys.argv[1]的意思是python test.py test.xls中的test.xls。
楼主执行的时候没有添加sys.argv[1]这个参数,所以会报错找不到表格文件
可以试下runfile('*.py *.xls')
追问
完全菜鸟,请问怎样你操作?
追答
怎么操作?文件外传参吗?有个模块argparse可以研究下。了解之后就可以实现python *.py -l param1 -m param2之类的操作了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xgh024028
2020-06-04 · TA获得超过828个赞
知道小有建树答主
回答量:283
采纳率:71%
帮助的人:227万
展开全部
把 sys.argv[1] 改成你要操作的excel文件的绝对路径(带双引号)
如:"E:\sales_2013.xlsx"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式