鱼C论坛

 找回密码
 立即注册
查看: 1158|回复: 6

[已解决]写入文件时运行错误,求助大家!

[复制链接]
发表于 2020-6-13 16:30:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在看老乌龟python入门视频时编写写入文件的代码,但最后运行失败,如图所示。求助大家!(读取的文档和代码在一个文件夹放着)
代码:
def save_file(boy,girl,count):
    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()
   
def split_file(file_name):
    f = open('001.txt','r')

    boy=[]
    girl=[]
    count=1

    for each_line in f:
        if each_line[:4] != '====':
            (role,line_spoken) = each_line.split(':',1)
            if role == '小乌龟':
                boy.append(line_spoken)
            if role == '小客服':
                girl.append(line_spoken)
               
        else:
            save_file(boy,girl,count)

            boy = []
            girl = []
            count += 1
            
    save_file(boy,girl,count)

    f.close()
    print(end)

split_file('001.txt')

报错:IDLE internal error in runcode()
Traceback (most recent call last):
  File "D:\新建文件夹 (2)\lib\idlelib\rpc.py", line 339, in putmessage
    r, w, x = select.select([], [self.sock], [])
TypeError: argument must be an int, or have a fileno() method.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\新建文件夹 (2)\lib\idlelib\rpc.py", line 240, in asyncqueue
    self.putmessage((seq, request))
  File "D:\新建文件夹 (2)\lib\idlelib\rpc.py", line 342, in putmessage
    raise OSError("socket no longer exists")
OSError: socket no longer exists
最佳答案
2020-6-13 17:04:44
这个错误和你的代码没有关系,是idle的内部错误,可能是由于操作系统的问题导致,重启电脑再试一下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-13 16:33:02 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-13 16:39:05 | 显示全部楼层
哈哈哈  话说不是小甲鱼嘛。。。怎么变成小乌龟了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-13 16:46:51 | 显示全部楼层
啊呀对不起大家,我重新打开了一遍IDLE然后运行好了不过还是没看懂上面那个报错的意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-13 17:04:44 | 显示全部楼层    本楼为最佳答案   
这个错误和你的代码没有关系,是idle的内部错误,可能是由于操作系统的问题导致,重启电脑再试一下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-13 17:11:22 | 显示全部楼层
nottherealxjd 发表于 2020-6-13 16:46
啊呀对不起大家,我重新打开了一遍IDLE然后运行好了不过还是没看懂上面那个报错的意思

试试看,还会不会报错?
def save_file(boy, girl, count):
    file_name_boy = 'boy_' + str(count) + '.txt'
    file_name_girl = 'girl_' + str(count) + '.txt'

    boy_file = open(file_name_boy, 'w',encoding='utf-8')
    girl_file = open(file_name_girl, 'w',encoding='utf-8')

    boy_file.writelines(boy)
    girl_file.writelines(girl)

    boy_file.close()
    girl_file.close()


def split_file(file_name):
    f = open(file_name, encoding='utf-8')

    boy = []
    girl = []
    count = 1

    for each_line in f:
        if each_line[:4] != '====':
            (role, line_spoken) = each_line.split(':', 1)
            if role == '小乌龟':
                boy.append(line_spoken)
            if role == '小客服':
                girl.append(line_spoken)

        else:
            save_file(boy, girl, count)

            boy = []
            girl = []
            count += 1

    save_file(boy, girl, count)

    f.close()
    print('end')


split_file('001.txt')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-14 17:21:31 | 显示全部楼层
Twilight6 发表于 2020-6-13 16:39
哈哈哈  话说不是小甲鱼嘛。。。怎么变成小乌龟了?

哈哈哈本来想打小污龟的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 17:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表