程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-06(2)

ValueError: not enough values to unpack (expected 4, got 1) Python(笨办法学Python3)

发布于2020-03-18 11:07     阅读(6137)     评论(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黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

29 0
收藏该文
已收藏

评论内容:(最多支持255个字符)