18552586636 发表于 2021-7-1 23:56:14

新人没有基础,看到小甲鱼的视频29课,求助

我用的是python,3.10的版本,电脑是64位的win10系统,看 到小甲鱼的29课时python时,运行一样代码,

f=open('D:\\record1.txt',encoding='utf-8')
boy=[]
girl=[]
count=1
for each_line in f:
    if each_line[:6]!='===============':
      (role,line_speak)=each_line.split(':',1)
      if role=='小甲鱼':
            boy.append(line_speak)
      if role=='小客服':
            girl.append(line_speak)
    else:
      
      file_name_boy='boy_'+str(count)+'.txt'
      file_name_girl='girl_'+str(count)+'.txt'
      boy_file=open(file_name_boy,'w')
      girl_file=open(file_name_girl,'w')
      boy_file.writelines(boy)
      girl_file.writelines(girl)
      boy_file.close()
      girl_file.close()
      boy=[]
      girl=[]
      count+=1
f.close()
然后运行以后一直报错这个:
File "D:\python\读写操作实例.py", line 7, in <module>
    (role,line_speak)=each_line.split(':',1)
ValueError: not enough values to unpack (expected 2, got 1)
ValueError:没有足够的值来解包(预期为 2,得到 1)
ps:我去网上看了一下,说代码没有问题的话,那就是这个record这个文件从网上拷贝的,然后后面会有回车符号,然后我又多次弄进word替换查找删除回车,又复制进记事本慢慢手动调回分行,然后进word发现又有回车了,我在记事本里已经把自动换行关闭了,再在手动调回原位,弄半天还是那样,所以很迷惑到底是哪里出了问题,可能我罗里吧嗦很多,但是我想把问题描述的清楚一点,哪位好心的大佬帮帮忙看下,真的感激不尽啊

18552586636 发表于 2021-7-1 23:57:36

哪位好心的大佬帮忙看看,纠结我两天了,就很难受

深谙流年 发表于 2021-7-2 00:16:21

用pycharm可以查看错误,方便的

深谙流年 发表于 2021-7-2 00:18:02

还有就是你的文件也拷贝了吗?、

qq1151985918 发表于 2021-7-2 08:19:12

你查看下你 txt 文件里的冒号是中文冒号":"还是英文冒号":"
你先换成中文冒号试试
(role,line_speak)=each_line.split(':',1)

18552586636 发表于 2021-7-3 19:11:36

qq1151985918 发表于 2021-7-2 08:19
你查看下你 txt 文件里的冒号是中文冒号":"还是英文冒号":"
你先换成中文冒号试试

txt里的冒号我手动换了一下英文冒号,然后分割函数这边又换了一下英文冒号,还是这个问题

18552586636 发表于 2021-7-3 19:16:42

深谙流年 发表于 2021-7-2 00:18
还有就是你的文件也拷贝了吗?、

这个txt里面的内容再网上百度搜索的负责粘贴的,文件自己创建的重新命名的,因为我再视频上面看到小甲鱼说要到论坛上下载,但是我没有找到,就去百度复制粘贴,然后手动按着替换弄回车符号的

18552586636 发表于 2021-7-3 19:18:26

深谙流年 发表于 2021-7-2 00:16
用pycharm可以查看错误,方便的

谢谢大佬,我今晚运行看看,现在看看pycharm再哪里

fish_nian 发表于 2021-7-3 19:32:23

你先使用看这个文件运行代码有没有问题,问题可能出现在文件中
python第029课小甲鱼和小客服的对话record.txt文件分享
https://fishc.com.cn/thread-145702-1-1.html
(出处: 鱼C论坛)

18552586636 发表于 2021-7-3 20:37:20

fish_nian 发表于 2021-7-3 19:32
你先使用看这个文件运行代码有没有问题,问题可能出现在文件中
python第029课小甲鱼和小客服的对话record. ...

谢谢大佬。我这就去试试

18552586636 发表于 2021-7-3 22:36:18

深谙流年 发表于 2021-7-2 00:16
用pycharm可以查看错误,方便的

用pycharm运行这个代码,然后文件是刚刚论坛一位好心的大哥重新给的record的文件
def save_speak(boy,girl,count):
    file_name='boy'+str(count)+'.txt'
    file_name1='girl'+str(count)+'.txt'
    name_file=open(file_name,'w')
    name_file1=open(file_name1,'w')
    name_file.writelines(boy)
    name_file1.writelines(girl)
def split_speak(file_name):
    f=open('D:\\record.txt')
    boy=[]
    girl=[]
    count=1
    for each_lines in f:
      if (each_lines)!='======':
            (role,speak)=each_lines.split(':',1)
            if role=='小甲鱼':
                boy.append(speak)
            if role=='小客服':
                girl.append(speak)
      else:
            save_speak(boy,girl,count)
            boy=[]
            girl=[]
            count+=1
    save_speak(boy,girl,count)
    f.close()
split_speak('D:\\record.txt')

运行出错:
Traceback (most recent call last):
File "D:\python\读写操作实例.py", line 27, in <module>
    split_speak('D:\\record.txt')
File "D:\python\读写操作实例.py", line 15, in split_speak
    (role,speak)=each_lines.split(':',1)
ValueError: not enough values to unpack (expected 2, got 1)
27行就是这个split_speak这个问题,运行一开始的问题同样也是:(role,speak)=each_lines.split(':',1)
ValueError: not enough values to unpack (expected 2, got 1)
运行的文件是刚刚论坛好心的大哥发的小甲鱼原文链接文件

18552586636 发表于 2021-7-3 22:37:37

18552586636 发表于 2021-7-3 22:36
用pycharm运行这个代码,然后文件是刚刚论坛一位好心的大哥重新给的record的文件
def save_speak(boy,gi ...

求大哥们看下这到底怎么弄

兢兢 发表于 2021-7-4 12:25:48

打开record1.txt
另存为   
选择编码   utf_8
页: [1]
查看完整版本: 新人没有基础,看到小甲鱼的视频29课,求助