Python文件处理
2019-01-11 本文已影响0人
CTLers丶Vk
def wr(he,me,you,number):
#自定义文件名
file_name_he = 'he_' + str(number) + '.txt'
file_name_me = 'me_' + str(number) + '.txt'
file_name_you = 'you_' + str(number) + '.txt'
#打开文件、若文件不存在则创建后打开、赋予读写权限
file_he = open(file_name_he,'w')
file_me = open(file_name_me,'w')
file_you = open(file_name_you,'w')
#对应内容写入文件
file_he.writelines(he)
file_me.writelines(me)
file_you.writelines(you)
#写入完成关闭文件
file_he.close()
file_me.close()
file_you.close()
def st(file_name,va,one,two):
#打开原始文件
f = open(file_name)
#初始化列表用于存放数据
he = []
me = []
you = []
number = 1
#一行一行遍历文件内容
for line in f:
#没检测到分割线就将内容进行切割
if line[:6] != '------':
#以:为分界、左边的删去、右边的保存
(who,what) = line.split(va,1)
#切割后将内容写入相应列表
if who == one:
he.append(what)
elif who == two:
me.append(what)
else:
you.append(what)
#检测到分割线就将列表内容写入文件
else:
wr(he,me,you,number)
#写入完成后、初始化各列表准备下一轮写入
he = []
me = []
you = []
#每次保存后序号自加1、用于区分文件生成顺序
number += 1
#关闭文件
f.close()
#执行函数、打开a.txt文件
st('a.txt',':','他说','我说')
print('执行成功、请在源文件目录查看')