gpt4 book ai didi

python - ValueError : need more than 1 value to unpack, 分割一行

转载 作者:太空宇宙 更新时间:2023-11-03 12:48:39 24 4
gpt4 key购买 nike

我有一个在同一行包含问题和答案的文件,我想将它们分开并将它们附加到它们自己的空列表中,但不断出现此错误:
builtins.ValueError:需要超过 1 个值才能解包

questions_list = []
answers_list = []

questions_file=open('qanda.txt','r')


for line in questions_file:
line=line.strip()

questions,answers =line.split(':')

questions_list.append(questions)
answers_list.append(answers)

最佳答案

这可能是因为当你在做拆分时,没有:,所以函数只返回一个参数,而不是两个。这可能是由最后一行引起的,意思是你是最后一行,只有空格。像这样:

>>> a = '   '
>>> a = a.strip()
>>> a
''
>>> a.split(':')
['']

如您所见,从 .split 返回的列表只是一个空字符串。因此,为了向您展示演示,这是一个示例文件:

a: b
c: d
e: f

g: h

我们尝试使用如下脚本(val.txt为上述文件名):

with open('val.txt', 'r') as v:
for line in v:
a, b = line.split(':')
print a, b

这给了我们:

Traceback (most recent call last):
a b

c d
File "C:/Nafiul Stuff/Python/testingZone/28_11_13/val.py", line 3, in <module>

a, b = line.split(':')
e f
ValueError: need more than 1 value to unpack

当尝试通过调试器查看时,变量 line 变为 \n,您无法拆分它。

但是,一个简单的逻辑修正可以解决这个问题:

with open('val.txt', 'r') as v:
for line in v:
if ':' in line:
a, b = line.strip().split(':')
print a, b

关于python - ValueError : need more than 1 value to unpack, 分割一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20270871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com