Python中:这是什么意思 (role,line_spoken) =each_line.split(":",1)ValueError: not enough values to unpack (expected 2, got 1)
each_line.split(":",1) 意思是 这个字符串按左边第1个“:”切开, 冒号切开第右边最多只能保留成1个字符串。 比如你有多个冒号, 那剩下的冒号就都不切了。然后你用 两个变量(role,line_spoken) 去接 切开第两部分。not enough values to unpack (expected 2, got 1) 意思是 这句没有冒号, 所以切不出两部分,只留下一个整体,于是你两个变量就接不了这一个整体。你要调试看一下 是哪一行出现了这样第情况。我估计是最后一行,空字符串
你那句判断当前行是否为==的写法是什么逻辑?还不如这样写 if '==' in eachline:最好这样写lines = [line.strip() for line in f.readlines() if len(line) >1]for eachline in lines: