Python中:这是什么意思 (role,line_spoken) =each_line.split(":",1)?

Python中:这是什么意思 (role,line_spoken) =each_line.split(":",1)ValueError: not enough values to unpack (expected 2, got 1)
最新回答
唱一半的丶情歌

2024-11-04 01:16:23

each_line.split(":",1) 意思是 这个
字符串
按左边第1个“:”切开, 冒号切开第右边最多只能保留成1个字符串。 比如你有多个冒号, 那剩下的冒号就都不切了。

然后你用 两个变量(role,line_spoken) 去接 切开第两部分。
not enough values to unpack (expected 2, got 1) 意思是 这句没有冒号, 所以切不出两部分,只留下一个整体,于是你两个变量就接不了这一个整体。

你要调试看一下 是哪一行出现了这样第情况。我估计是最后一行,空字符串
仙蒂瑞拉

2024-11-04 00:09:45

你那句判断当前行是否为==的写法是什么逻辑?
还不如这样写 if '==' in eachline:

最好这样写
lines = [line.strip() for line in f.readlines() if len(line) >1]
for eachline in lines: