1、样本内容 A.txt

2、上代码:

f=open(r'E:\A.txt','r')

boyA=[]
boyB=[]
count = for each_line in f:
if each_line[:]!='======':
(role,line_spoken)=each_line.split(':',)
print((role,line_spoken))
if role == 'A':
boyA.append(line_spoken)
if role =='B':
boyB.append(line_spoken)
else:
file_name_boyA = r'E:\boyA_'+str(count)+'.txt'
file_name_boyB = r'E:\boyB_' + str(count) + '.txt' boyA_file = open(file_name_boyA,'w')
boyB_file = open(file_name_boyB, 'w') boyA_file.writelines(boyA)
boyB_file.writelines(boyB) boyA_file.close()
boyB_file.close() boyA = []
boyB = []
count += file_name_boyA = r'E:\boyA_' + str(count) + '.txt'
file_name_boyB = r'E:\boyB_' + str(count) + '.txt' boyA_file = open(file_name_boyA,'w')
boyB_file = open(file_name_boyB, 'w') boyA_file.writelines(boyA)
boyB_file.writelines(boyB) boyA_file.close()
boyB_file.close() f.close()

3、上结果:

4、代码优化一下

#第二个函数
def save_file(boyA,boyB,count):
file_name_boyA = r'E:\boyA_' + str(count) + '.txt'
file_name_boyB = r'E:\boyB_' + str(count) + '.txt' boyA_file = open(file_name_boyA, 'w')
boyB_file = open(file_name_boyB, 'w') boyA_file.writelines(boyA)
boyB_file.writelines(boyB) boyA_file.close()
boyB_file.close() #第一个函数
def split_file(file_name):
f=open(file_name,'r') boyA = []
boyB = []
count =
for each_line in f:
if each_line[:]!='======':
(role,line_spoken)=each_line.split(':',)
print((role,line_spoken))
if role == 'A':
boyA.append(line_spoken)
if role =='B':
boyB.append(line_spoken)
else:
save_file(boyA, boyB, count) boyA = []
boyB = []
count += save_file(boyA,boyB,count) f.close() # 调用
split_file(r'E:\A.txt')

Python open 读写小栗子的更多相关文章

  1. python入门之小栗子

    1 点球小游戏: from random import choice score=[0,0]direction=['left','center','right'] def kick(): print ...

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

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

  3. Javaweb统计在线人数的小栗子

    最近在学习Javaweb相关的内容(不黑不吹之前对web开发零基础),下面通过一个统计在线人数的小栗子讲讲Servlet监听器吧 开发环境 eclipse  tomcat 7 先说说这个小栗子的构思: ...

  4. python random模块 - 小驹的专栏 - 博客频道 - CSDN.NET

    python random模块 - 小驹的专栏 - 博客频道 - CSDN.NET python random模块 分类: python 2011-11-15 15:31 6037人阅读 评论(2) ...

  5. Python 3 读写文件的简单方法!

    Python 3 读写文件的简单方法! a = open('test.txt','w') 这行代码创建了一个名为test的文本文档,模式是写入(模式分为三种,w代表写入,r代表阅读,a代表在尾行添加) ...

  6. 关于理解python类的小题

    今天看了python部落翻译的一篇<一道python类的小题>文章,感觉挺有启发性,记录下来: print('A') class Person(object): print('B') de ...

  7. cookie小栗子-实现简单的身份验证

    关于Cookie Cookie是一种能够让网站Web服务器把少量数据储存到客户端的硬盘或内存里,或是从客户端的硬盘里读取数据的一种技术. 用来保存客户浏览器请求服务器页面的请求信息,可以在HTTP返回 ...

  8. SpringBoot+Shiro+Redis共享Session入门小栗子

    在单机版的Springboot+Shiro的基础上,这次实现共享Session. 这里没有自己写RedisManager.SessionDAO.用的 crazycake 写的开源插件 pom.xml ...

  9. SpringBoot+Shiro入门小栗子

    写一个不花里胡哨的纯粹的Springboot+Shiro的入门小栗子 效果如图: 首页:有登录注册 先注册一个,然后登陆 登录,成功自动跳转到home页 home页:通过认证之后才可以进 代码部分: ...

随机推荐

  1. Linux服务器---流量监控bandwidthd

    Bandwidthd Bandwidthd是一款免费的流量监控软件,它可以用图标的方式展现出网络流量行为,并且可区分出ftp.tcp等各种协议的流量. 1.安装一些依赖软件 [root@localho ...

  2. Django框架----ORM数据库操作注意事项

    1.多对多的正向查询 class Class(models.Model): name = models.CharField(max_length=32,verbose_name="班级名&q ...

  3. 搭建ELK日志分析(亲测无毒!)截图没有附上。。凑合看。搭建出来没有问题

    ( 1 )安装 Logstash 依赖包 JDK Logstash 的运行依赖于 Java 运行环境, Logstash 1.5 以上版本不低于 java 7 推荐使用最新版本的 Java .由于我们 ...

  4. Kali linux apt-get update 失败,无release……(最有效)

    设置源 编辑 /etc/apt/sources.list nano /etc/apt/sources.list 清空文件内所有内容后添加 deb http://mirrors.ustc.edu.cn/ ...

  5. python之auto鼠标/键盘事件

    mouse_key.py import os import time import win32gui import win32api import win32con from ctypes impor ...

  6. Golang字符串解析成数字

    package main import ( "strconv" "fmt" ) func main() { // 使用ParseFloat解析浮点数,64是说明 ...

  7. 从percona server 5.7换到mariadb 10.2

    过去两年半一直推荐使用percona server,今天开始,因为一些mysql迟迟不不愿意支持的特性,打算换回mariadb 10.2了,具体哪些不说了,总之非常关键,mariadb都支持一两年了, ...

  8. unknown variable 'log_bin_basename'

    今天在处理一问题时,在my.cnf中设置了log_bin_basename=/DATA/log-bin,在启动时报unknown variable 'log_bin_basename' 经查mysql ...

  9. 【题解】Luogu P2073 送花

    原题传送门 这题需要用到Splay 我们用一棵splay维护金钱 考虑c<=1000000 我们珂以把每种价格现在对应的美丽值存在一个a数组中 这样讲有珂能不太清楚qaq,还是对着操作一个一个讲 ...

  10. linux下网卡bonding配置(转)

    linux下网卡bonding配置   章节 bonding技术 centos7配置bonding centos6配置bonding 一.bonding技术 bonding(绑定)是一种linux系统 ...