Python文件的部分内容

文件的操作

文件的打开模式
打开模式执行操作
‘r’以只读方式打开文件
‘w’以写入的方式打开文件,会覆盖已存在的文件
‘x’如果文件已经存在,使用此模式打开将引发异常
‘a’以写入模式打开,如果文件存在,则在末尾追加写入
‘b’以二进制模式打开文件
‘t’以文本模式打开
‘+’可读写模式
‘U’通用换行符支持
文件对象
文件对象方法执行操作
f.close()关闭文件
f.read([size=-1])从文件读取size个字符,当未给定size或给定负值的时候,读取剩余的所有字符,然后作为字符串返回
f.readline([size=-1])从文件中读取并返回一行(包括行结束符),如果有size有定义则返回size个字符
f.write(str)将字符串str写入文件
f.writelines(seq)向文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象
f.seek(offset, from)在文件中移动文件指针,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)
f.tell()返回当前在文件中的位置
f.truncate([size=file.tell()])截取文件到size个字节,默认是截取到文件指针当前位置

例子要求:
把文件中的内容以============= 为界限,分为三段文字;每一段文字保留两个文件,一个是小甲鱼说的内容,另一个是小客服说的内容。

需要操作的文件内容:

小客服:小甲鱼,今天有客户问你有没有女朋友?
小甲鱼:咦??
小客服:我跟她说你有女朋友了!
小甲鱼:。。。。。。
小客服:她让你分手后考虑下她!然后我说:“您要买个优盘,我就帮您留意下~”
小甲鱼:然后呢?
小客服:她买了两个,说发一个货就好~
小甲鱼:呃。。。。。。你真牛!
小客服:那是,谁让我是鱼C最可爱小客服嘛~
小甲鱼:下次有人想调戏你我不阻止~
小客服:滚!!!
================================================================================
小客服:小甲鱼,有个好评很好笑哈。
小甲鱼:哦?
小客服:“有了小甲鱼,以后妈妈再也不用担心我的学习了~”
小甲鱼:哈哈哈,我看到丫,我还发微博了呢~
小客服:嗯嗯,我看了你的微博丫~
小甲鱼:哟西~
小客服:那个有条回复“左手拿著小甲魚,右手拿著打火機,哪裡不會點哪裡,so easy _
小甲鱼:T_T
================================================================================
小客服:小甲鱼,今天一个会员想找你
小甲鱼:哦?什么事?
小客服:他说你一个学生月薪已经超过12k了!!
小甲鱼:哪里的?
小客服:上海的
小甲鱼:那正常,哪家公司?
小客服:他没说呀。
小甲鱼:哦
小客服:老大,为什么我工资那么低啊??是时候涨涨工资了!!
小甲鱼:啊,你说什么?我在外边呢,这里好吵吖。。。。。。
小客服:滚!!!

程序代码
# 打开文件
f = open("Wenjian.txt")

# 小甲鱼说的内容
boy = []
# 小客服说的内容
girl = []
# 区分文件命名的数字
count = 1


for each_line in f:
    if each_line[:6] != '======':
        # 角色以及说的内容通过冒号分割
        (role, line_spoken) = each_line.split(':', 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 = open(file_name_boy, 'w')
        girl_file = open(file_name_girl, 'w')

        # 说的内容写入到文件中
        boy_file.writelines(boy)
        girl_file.writelines(girl)
 
        boy_file.close()
        girl_file.close()
        
        boy = []
        girl = []
        count += 1
 
file_name_boy = 'boy_' + str(count) + '.txt'
file_name_girl = 'girl_' + str(count) + '.txt'
 
boy_file = open(file_name_boy, 'w')
girl_file = open(file_name_girl, 'w')
 
boy_file.writelines(boy)
girl_file.writelines(girl)
 
boy_file.close()
girl_file.close()

f.close()
程序执行后结果:
  • boy_1.txt

咦??
。。。。。。
然后呢?
呃。。。。。。你真牛!
下次有人想调戏你我不阻止~

  • boy_2.txt

哦?
哈哈哈,我看到丫,我还发微博了呢~
哟西~
T_T

  • boy_3.txt

哦?什么事?
哪里的?
那正常,哪家公司?

啊,你说什么?我在外边呢,这里好吵吖。。。。。。

  • girl_1.txt

小甲鱼,今天有客户问你有没有女朋友?
我跟她说你有女朋友了!
她让你分手后考虑下她!然后我说:“您要买个优盘,我就帮您留意下~”
她买了两个,说发一个货就好~
那是,谁让我是鱼C最可爱小客服嘛~
滚!!!

  • girl_2.txt

小甲鱼,有个好评很好笑哈。
“有了小甲鱼,以后妈妈再也不用担心我的学习了~”
嗯嗯,我看了你的微博丫~
那个有条回复“左手拿著小甲魚,右手拿著打火機,哪裡不會點哪裡,so easy _

  • girl_3.txt

小甲鱼,今天一个会员想找你
他说你一个学生月薪已经超过12k了!!
上海的
他没说呀。
老大,为什么我工资那么低啊??是时候涨涨工资了!!
滚!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值