python中sys.argv[1]错误:IndexError: list index out of range?
3个回答
2020-06-04 · 知道合伙人软件行家
关注
展开全部
你没有理解这个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]是不存在的,因此报错“索引越界了”。
展开全部
sys.argv[1]的意思是python test.py test.xls中的test.xls。
楼主执行的时候没有添加sys.argv[1]这个参数,所以会报错找不到表格文件
可以试下runfile('*.py *.xls')
楼主执行的时候没有添加sys.argv[1]这个参数,所以会报错找不到表格文件
可以试下runfile('*.py *.xls')
追问
完全菜鸟,请问怎样你操作?
追答
怎么操作?文件外传参吗?有个模块argparse可以研究下。了解之后就可以实现python *.py -l param1 -m param2之类的操作了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把 sys.argv[1] 改成你要操作的excel文件的绝对路径(带双引号)
如:"E:\sales_2013.xlsx"
如:"E:\sales_2013.xlsx"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询