发布于2020-03-18 11:07 阅读(6618) 评论(0) 点赞(29) 收藏(0)
emmm,这是一道《笨办法学Python3》书里的一道题目,遇到的出错的地方,上网搜了很久才发现别人写的不是我先要的解决办法,然后才发现我们这里的问题是出在不懂Python里的 sys模块 argv用法,不知道怎么正确的输入才会出现下面的问题。
ValueError: not enough values to unpack (expected 4, got 1)
下面先来看一下我的代码:
from sys import argv
# read the WYSS section for how to run this
script, first, second, third = argv
print("The script is called:",script)
print("Your first varilable is:",first)
print("Your second variable is:",second)
print("Your third variable is:",third)
#这里命令行要输入如下所示这样子的带有四个参数的
#python ex13.py 1 two 3
看一下我的错误输入:
出现了我们上述所说的错误,原因是我们这里的script, first, second, third = argv
,这里应该获得4个我们自己从命令窗口输入的形参,而上面我才输入了1个,即 ex13.py 这个整体被当成一个形参,所以才会出现ValueError: not enough values to unpack (expected 4, got 1)的错误。
下面是正确的输入方法:
python ex13.py 1 two 3
或者
py ex13.py 1 two 3
这种方式可以让argv获得足够的形参,从而才不会报错。(这里ex13.py是我的这个python文件的名字)
注意:这里说的是我的理解,看到书本后面才发现书本有正确的输入示范跟一些解释,书里的解释是把后面三个看作是形参,而前面的(即我上面的ex13.py 不是,而我直接把它当成一个形参来方便自己理解了,因为ex13.py(脚本名)是你必须导入的所以它只需要另外的3个形参即可)
原文链接:https://blog.csdn.net/weixin_43873121/article/details/104931743
作者:你太美丽
链接:https://www.pythonheidong.com/blog/article/265252/26585a8c1495a078d3b8/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!