| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
  在《零基础入门学习Python》29节课中,跟着甲鱼老师的步骤敲得代码,结果我的就报错。可能是版本的问题吗?我的代码如下 
求各位大神能给予解答~~非常感谢。 
f = open('record.txt') 
 
jia = [] 
yi = [] 
count = 1 
 
for each_line in f: 
    if each_line[:5]!='=====': 
        (role, line_spoken) = each_line.split(':',1) 
        if role == '甲': 
            jia.append(line_spoken) 
        if role == '乙': 
            yi.append(line_spoken) 
    else: 
        file_name_jia ='jia_'+ str(count)+'.txt' 
        file_name_yi ='yi_'+ str(count)+'.txt' 
 
        jia_file = open(file_name_jia,'w') 
        yi_file = open(file_name_yi,'w') 
 
        jia_file.writelines(jia) 
        yi_file.writelines(yi) 
 
        jia_file.close() 
        yi_file.close() 
 
        jia = [] 
        yi = [] 
        count +=1 
 
f.close() 
报错如下: 
================== RESTART: C:/Users/LiJW/Desktop/test1.py ================== 
Traceback (most recent call last): 
  File "C:/Users/LiJW/Desktop/test1.py", line 9, in <module> 
    (role, line_spoken) = each_line.split(':',1) 
ValueError: not enough values to unpack (expected 2, got 1) 
>>>  
 
 
我的文件是 在桌面保存的一哥txt文档,随便找了几段甲乙的简单对话 
 
(role, line_spoken) = each_line.split(':',1) 
这一句你有两个变量,但却只有一个值,无法赋值给两个变量 
你后边的确分割成两部分,而你后边参数是1取得是分割次数,分割后返回的是一个列表,你的赋值表达式只会将列表直接给第一个变量,而第二个变量没有值,那就会报错 
 
 
 |   
 
 
 
 |