python文件是写程序_python(三)一个文件读写操作的小程序

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

首先我们有一个文件

543426-20160925153735057-1943022829.png

我们要以"============"为界限,每一个角色分割成一个独立的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')

最后附上实现效果

543426-20160925154415773-2048121503.png

543426-20160925154432180-2070073196.png

543426-20160925154443915-1561563625.png

543426-20160925154454963-70705389.png

543426-20160925154507823-1526175058.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值