当前位置: 首页 > 面试题库 >

ValueError:没有足够的值可解包。为什么?

柳飞鸾
2023-03-14
问题内容

我正在从一个网站上学习文件管理,我尝试执行某个脚本,但对我来说效果不佳。

它一直在以下行返回此错误: city, day, time = line.split()

ValueError:没有足够的值可解包(预期至少为2,得到0)

我正在尝试按字母顺序排列并按腌制方式转储城市及其时区的列表,该文本文件具有以下几行:

Salt lake city Sun 09:52
San Francisco Sun 00:52
Amsterdam Sun 08:52
Denver Sun 01:52
San Salvador Sun 01:52
Detroit Sun 02:52

这是代码:

import pickle

lines = open("cities_and_times.txt").readlines()
lines.sort()

cities = []
for line in lines:
    *city, day, time = line.split()
    hours, minutes = time.split(":")
    cities.append((" ".join(city), day, (int(hours), int(minutes)) ))

    f_new = open("cities_and_times.pkl", "bw")
    pickle.dump(cities, f_new)

    print(cities)

问题答案:

您需要一个if条件,该条件允许您跳过空白行。就像是:

if not line:
   continue

# Or do this

if not line:
   pass
else:
   *city, day, time = line.split()


 类似资料:
  • 问题内容: 我简单的python代码是这样 这很好。但是最近我什至没有做任何改变。这丢给我了 ret,contours,hierachy = cv2.findContours(阈值,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) ValueError:没有足够的值可解包(预期3,得到2) 帮帮我 谢谢。 问题答案: 该函数已更改为仅返回轮廓和层次结构,而不返回 您应该

  • 问题内容: 我正在尝试使用RestTemplate这样执行URL- 但是每次我遇到这样的错误- 我在做什么错以及如何解决? 更新:- 我也尝试过使用该网址,但它对我没有用。我刚刚更换用 更新2 这是代码- 错误是- 问题答案: 似乎没有办法忽略它。而是根据您的值生成一个(不使用double )。 并使用需要使用的重载方法。

  • 我目前正在尝试创建带有python文件和大量额外软件包的docker映像。txt。 当我运行命令“sudo docker build-t XXX”时软件包被一个接一个地下载和安装,直到我收到一个错误:“由于环境错误,无法安装软件包:[Errno 28]设备上没有剩余空间” 我已经做了“sudo docker system prune”的原子选项,所有过去的docker镜像都被删除了。 此外,“su

  • 晚上好我正在使用Webview在Android上制作跟踪应用程序。我遇到了问题,因为该系统在该位置附近运行良好。我试过Grishma Ukani先生的一些方法(非常感谢)。 一切顺利,没有错误。但仍然无法获得设备位置/权限,然后这些信息就会出现在android studio上 E/cr_LocationProvider:从系统注册位置更新时捕获安全异常应用程序没有足够的地理定位权限E/cr_Loc

  • 我对Scala和Spark RDD编程相当陌生。我使用的数据集是一个CSV文件,其中包含电影列表(每部电影一行)及其关联的用户评分(以逗号分隔的评分列表)。CSV中的每一列都代表一个不同的用户,以及他/她对电影的评价。因此,用户1对每部电影的评分在左侧第二列中表示: 示例输入: 蜘蛛侠,1,2,3,3 睡眠博士,4,4,,1 我得到以下错误: 当我执行下面的几行时。对于下面的程序,第二行代码拆分由

  • 我有一个kafka主题,3个分区,只有一个带批处理的消费者。我在消费者方面使用的是spring kafka和以下消费者道具: 即使队列中有数千条消息(GBs数据)在等待,kafka consumer在每次轮询中也会收到大约10条消息(总大小约为1MB)。使用者应该获取(在我的示例中为15MB)或(在我的示例中为10000)的批处理。有什么问题?