我们要实现一个文件读写操作的小程序

首先我们有一个文件

我们要以"============"为界限,每一个角色分割成一个独立的txt文件,按照分割线走的话是分成

xiaoNa_1.txt xiaoBing_1.txt

xiaoNa_2.txt xiaoBing_2.txt

这样格式的四个文件

下面上代码:

#定义一个保存文件的函数
def save_file(xiaoNa,xiaoBing,count):
file_name_xiaoBing = 'xiaoBing_'+str(count)+'.txt' #组织文件名
file_name_xiaoNa = 'xiaoNa_'+str(count)+'.txt' #组织文件名 xiaoBing_file = open(file_name_xiaoBing,'w') #文件写入操作 没有文件创建
xiaoNa_file = open(file_name_xiaoNa,'w') xiaoBing_file.writelines(xiaoBing) #写入内容
xiaoNa_file.writelines(xiaoNa) xiaoBing_file.close()
xiaoNa_file.close()
#定义分割文件的函数
def split_file(file_name):
f = open(file_name) #打开文件 xiaoBing = [] #定义接受小兵会话的数组
xiaoNa = [] #定义接受小娜会话的数组
count = 1 #定义文件数 for each_line in f:
if each_line[:6]!='======':
(role,speakContent) = each_line.split(':',1) #split函数前面一个参数表示分割符号 后面一个表示分割次数
if role == '小兵':
xiaoBing.append(speakContent)
if role == '小娜':
xiaoNa.append(speakContent)
else:
#保存文件
save_file(xiaoNa,xiaoBing,count) #重新初始化一下
xiaoBing = []
xiaoNa = []
count +=1 #因为分割符号“======”在最后一个没有了 所以这里要保存最后一个文件的内容
save_file(xiaoNa,xiaoBing,count)
f.close() #调用函数执行功能
split_file('record.txt')

  最后附上实现效果

python(三)一个文件读写操作的小程序的更多相关文章

  1. Python绘制PDF文件~超简单的小程序

    Python绘制PDF文件 项目简介 这次项目很简单,本次项目课,代码不超过40行,主要是使用 urllib和reportlab模块,来生成一个pdf文件. reportlab官方文档 http:// ...

  2. python学习之文件读写操作

    open函数 在使用文件之前,需要先打开,即使用open函数 如: files=open("文件路径","操作方式") 解释如下: (1.files:为文件对象 ...

  3. python 文件读写操作(24)

    以前的代码都是直接将数据输出到控制台,实际上我们也可以通过读/写文件的方式读取/输出到磁盘文件中,文件读写简称I/O操作.文件I/O操作一共分为四部分:打开(open)/读取(read)/写入(wri ...

  4. python里文件读写操作

    文件读写操作一种基本操作,但是里面也存在很多需要注意的问题,例如字符编码.内存缓冲.指针位置等等.如果忽视这些问题就会引起很多不必要的麻烦.简单来说,文件的读写分为几个过程: 打开文件,并定义操作文件 ...

  5. Androlid入门之文件系统操作(三)文件读写

         import java.io.*; import android.app.Activity; import android.os.Bundle; import android.view.Vi ...

  6. 【python系统学习17】python中的文件读写

    python中的文件读写 文件读写,是Python代码调用电脑文件的主要功能,能被用于读取和写入文本.音频片段.Excel文档.邮件以及任何保存在电脑上的东西. 可使用python批量的操作本地文件, ...

  7. python学习8 文件的操作

    本文拷贝了on testing 的<python之文件操作:文件的读写>,只做学习之用 python的文件读写通过 一.用open函数 二.对文件读写操作 三.读取文件位置定位 1. op ...

  8. Kotlin入门(27)文件读写操作

    Java的文件处理用到了io库java.io,该库虽然功能强大,但是与文件内容的交互还得通过输入输出流中转,致使文件读写操作颇为繁琐.因此,开发者通常得自己重新封装一个文件存取的工具类,以便在日常开发 ...

  9. Python—对Excel进行读写操作

    学习Python的过程中,我们会遇到Excel的读写问题.通过搜索得知,我们可以使用xlwt module将数据写入Excel表格,使用xlrd module从Excel读取数据.下面介绍如何实现使用 ...

随机推荐

  1. SQL Server XML Path[转]

    FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...

  2. Helpers\Hooks

    Helpers\Hooks Add modules with hooks The hooks helper allows modules to be created within the module ...

  3. SpringMVC中使用Jcaptcha实现校验码验证

    SpringMVC中使用Jcaptcha实现校验码验证:http://www.tuicool.com/articles/rMzAFj 本文将使用Jcaptcha实现校验码验证,并演示在Spring/S ...

  4. XML&nbsp; XmlDocument

    1.SelectSingleNode(xPath)  xPxth:xml/cam/type  一层一层递进

  5. [设计模式]<<设计模式之禅>>关于里氏替换原则

    在面向对象的语言中,继承是必不可少的.非常优秀的语言机制,它有如下优点:● 代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性:● 提高代码的重用性:● 子类可以形似父类,但又异于父类,“龙 ...

  6. [未完成]关于DOM的总结

    这样有什么好处吗? 一但这些东西变成了节点对象,意味着每一个节点对象都会有很多属性和行为提供出来. 如果div是一个对象,那么就可以针对这个对象调用其中的一些方法,对div操作. 这个操作可以包括,比 ...

  7. hdu 4679 树状dp

    思路:我们其实只需要枚举每条边,求得最小值就行了. 先dfs算出每个节点作为根时,其子树的最长路径,以及进过该节点的最长,次长,第三长路径. 然后在次dfs枚举求出切断某条边,求出这条边的两个端点为子 ...

  8. poj 1716 差分约束

    水水的. 给几个不等式:dis[b]-dis[a]>=2;  0<=dis[i+1]-dis[i]<=1; #include<iostream> #include< ...

  9. 如何评价微信小程序?

    这次我不站张小龙,虽然他说的「用完即走」的道理在,但我并不认为小程序会形成生态. (一) 仅仅从抽象场景上来讲,小程序当然很美好. 对开发者来说,不用费尽心思开发好多平台的 APP 了,不用考虑适配各 ...

  10. NVelocity 实现简单的 CIUD

    1, NVelocity 是 一般处理程序.ashx 和 前台页面模板的桥梁.  2,我们现在建立一个简单的查询:   A,新建项目,把NVelocity.dll拉入项目中,并添加对其引用 B,新建C ...