xiaoshengemu 发表于 2020-9-9 22:32:54

Mac 文件读取 文件分割问题

本帖最后由 xiaoshengemu 于 2020-9-10 22:18 编辑

import os
f = os.open("/Users/xiaoshengemu/Desktop/小甲鱼.txt",os.O_RDONLY)###Mac系统 不知道这样写对不对,如果不加os.
                                                                                                ###就会报错TypeError: open() argument 'mode' must be str, not int
boy = []
girl = []
count = 1

for each_line in f:###直接运行这里就会报错TypeError: 'int' object is not iterable。f不是 变量吗?为什么会报整型的错误?
                         ###如果把 f 变为‘f’. 就不会报错但这样会有什么后果
    if each_line[:6] !='======':
      (role,line_spoken) = each_line.split(':',1)###这边又报这个错误ValueError: not enough values to unpack (expected 2, got 1)
      if role =='小甲鱼':                                ###我把文件里的所有:都改为英文的了。也没有空行。
            boy.append(line_spoken)
      if role =='小客服':
            girl.append(line_spoken)
    else:
         file_name_boy = 'boy'+str(count)+'.txt'
         file_name_girl = 'girl'+str(count)+'.txt'


         boy_file = os.open(file_name_boy,'w')
         girl_file = os.open(file_name_girl,'w')

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

         os.close(boy_file)
         os.close(girl_file)

         boy=[]
         girl=[]
         count += 1
file_name_boy = 'boy'+str(count)+'.txt'
file_name_girl = 'girl'+str(count)+'.txt'


boy_file = os.open(file_name_boy,'w')
girl_file = os.open(file_name_girl,'w')

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

os.close(boy_file)
os.close(girl_file)

os.close(f)
      

heidern0612 发表于 2020-9-10 08:03:10

你的代码不是原代码吧?

第一句应该是:for each_line in f: 。 而不是for each_line in range (f): 。

f本身是个文件,文件哪来的range范围?

xiaoshengemu 发表于 2020-9-10 21:06:52

本帖最后由 xiaoshengemu 于 2020-9-10 22:20 编辑

heidern0612 发表于 2020-9-10 08:03
你的代码不是原代码吧?

第一句应该是:for each_line in f: 。 而不是for each_line in range (f): 。
...

对的    我改了一下现在是源代码
Mac 编程好难。全是问题   

ghostsolo 发表于 2021-1-7 13:31:47

我也是在mac上学习python,希望以后有机会交流,刚开始学,新手,主要是想处理一下数据
页: [1]
查看完整版本: Mac 文件读取 文件分割问题