Python3第二十九课:处理一个文件

  • A+
所属分类:Python学习

截止上次的28课Python3第二十八课:文件的使用,已经过去2个多月,然后就一直在撸Django的东西,好在这两个月有做出东西来,不然真的是。。。。

文件处理我在django做微商授权程序(演示站:demo.cms.lijinlong.cc/cert)的时候也有处理到,所以现在跟需要去强化这个内容的部分。

 

课程内容:

处理一个文件内容,并根据规则,对内容进行分文件保存。

 

操作思路:

1、打开文件

2、读取每一行的内容

3、匹配规则

4、使用split()方法对内容切片处理

5、对切片的内容进行保存

6、创建文件

7、打开文件并写入内容

8、保存内容

9、关闭文件(关闭的是上面创建的文件)

10、关闭主文件(最初打开的文件)

操作代码

  1. f = open('record.txt', encoding='UTF-8')
  2. boy = [] # 声明为空列表
  3. girl = [] # 声明为空列表
  4. count = 1 # 对文件夹名称进行叠加,防止内容被重复覆盖
  5. for each_line in f:  # 读取文件内容
  6.     print(each_line)  # 为了测试,打印内容
  7.     if each_line[:6] != '======':
  8.         (role, line_spoken) = each_line.split(':', 1)  # 通过冒号对内容进行切片分割,左侧传给role,右侧传给line_spoken
  9.         if role == '小甲鱼':  # 内容左侧包含小甲鱼的内容
  10.             boy.append(line_spoken)
  11.         if role == '小客服':  # 同上
  12.             girl.append(line_spoken)
  13.     else:
  14.         file_name_boy = 'boy_' + str(count) + '.txt'  # 创建文件
  15.         file_name_girl = 'girl_' + str(count) + '.txt'
  16.         boy_file = open(file_name_boy, 'w')  # 打开文件
  17.         girl_file = open(file_name_girl, 'w')
  18.         boy_file.writelines(boy)  # 内容写入
  19.         girl_file.write(girl)
  20.         boy_file.close()  # 关闭
  21.         girl_file.close()
  22.         boy = []  # 重置内容
  23.         girl = []
  24.         count += 1  # 对文件名称进行自加
  25. f.close()

文件record.txt,回复查看

此处为隐藏的内容!
发表评论并刷新,才能查看

 


单词扩展:

  • split 分裂

扩展阅读:


版权注释:

Python课程来源于鱼C论坛:http://bbs.fishc.com/forum-243-1.html 版块,课程内容为免费内容,如果你喜欢该课程,建议购买VIP账号支持小甲鱼,官方网店:https://fishc.taobao.com/)。

本内容为在李金龙在学习课程中做的日记记录,方便自己以后查找相关信息,另一方面也希望自己写下的东西可以帮助到别人。

课程内容:http://blog.fishc.com/3281.html

 

 

李金龙

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: