首页 > 编程语言 >Python基础入门学习笔记 029 文件:一个任务

Python基础入门学习笔记 029 文件:一个任务

时间:2023-08-23 10:12:03浏览次数:39  
标签:boy 入门 Python file girl txt 029 line name

•任务:将文件(record.txt)中的数据进行分割并按照以下规律保存起来:

–小甲鱼的对话单独保存为boy_*.txt的文件(去掉“小甲鱼:”)

–小客服的对话单独保存为girl_*.txt的文件(去掉“小客服:”)

–文件中总共有三段对话,分别保存为boy_1.txt, girl_1.txt,boy_2.txt, girl_2.txt, boy_3.txt, gril_3.txt共6个文件(提示:文件中不同的对话间已经使用“==========”分割)

test1:

 1 f = open("record.txt")
 2 
 3 boy = []
 4 girl = []
 5 count = 1
 6 
 7 for each_line in f:
 8     if each_line[:6] != '======':#判断是否连续读到六个=
 9         (role,line_spoken) = each_line.split(':',1)#split以:进行字符切割,
10         #将切得到的两部分内容依次存放在role与line_spoken中
11         if role == '小甲鱼':
12             boy.append(line_spoken)#将小甲鱼说的内容添加到列表boy中
13         if role == '小客服':
14             girl.append(line_spoken)#将小客服说的内容添加到列表girl中
15     else:
16         file_name_boy = 'boy_' + str(count) + '.txt'
17         file_name_girl = 'girl_' + str(count) + '.txt'
18 
19         boy_file = open(file_name_boy,'w')#以w模式新建一个以file_name_boy命名的txt文件
20         girl_file = open(file_name_girl,'w')#并贴上boy_file的标签
21 
22         boy_file.writelines(boy)#将列表boy中的内容写入到boy_file文件中
23         girl_file.writelines(girl)
24 
25         boy_file.close()#关闭boy_file文件
26         girl_file.close()
27 
28         boy = []#清空列表boy
29         girl = []
30         count += 1
31 
32 file_name_boy = 'boy_' + str(count) + '.txt'
33 file_name_girl = 'girl_' + str(count) + '.txt'
34 
35 boy_file = open(file_name_boy,'w')
36 girl_file = open(file_name_girl,'w')
37 
38 boy_file.writelines(boy)
39 girl_file.writelines(girl)
40 
41 boy_file.close()
42 girl_file.close()#记得关闭文件

 test2:

 1 def save_file(boy,girl,count):
 2     file_name_boy = 'boy_' + str(count) + '.txt'
 3     file_name_girl = 'girl_' + str(count) + '.txt'
 4 
 5     boy_file = open(file_name_boy,'w')
 6     girl_file = open(file_name_girl,'w')
 7 
 8     boy_file.writelines(boy)
 9     girl_file.writelines(girl)
10 
11     boy_file.close()
12     girl_file.close()
13 
14 def split_file(file_name):
15     f = open(file_name)
16 
17     boy = []
18     girl = []
19     count = 1
20 
21     for each_line in f:
22         if each_line[:6] != '======':
23             (role,line_spoken) = each_line.split(':',1)#split以:进行字符切割,
24             #将切得到的两部分内容依次存放在role与line_spoken中
25             if role == '小甲鱼':
26                 boy.append(line_spoken)
27             if role == '小客服':
28                 girl.append(line_spoken)
29         else:
30             save_file(boy,girl,count)
31 
32             boy = []
33             girl = []
34             count += 1
35 
36 
37     save_file(boy,girl,count)
38     f.close()
39 
40 split_file('record.txt')

 

标签:boy,入门,Python,file,girl,txt,029,line,name
From: https://www.cnblogs.com/ybqjymy/p/17650416.html

相关文章

  • Python基础入门学习笔记 030 文件系统:介绍一个高大上的东西
    os模块中关于文件/目录常用的函数使用方法>>>importos>>>os.getcwd()'D:\\python3.3.2\\小甲鱼python\\python程序\\第二十九课'>>>os.listdir('D:\\python3.3.2\\小甲鱼python\\python程序\\第二十九课')['boy_1.txt','boy_2......
  • Ubuntu16.04+CUDA8.0+OpenCV3.1+python+caffe+faster-rcnn环境配置
    前言Ubuntu1604注意事项CUDA80安装显卡驱动安装CUDA80编译CUDASampleOpenCV31pythonCaffe安装CaffeMNIST数据集测试faster-rcnn后记前言经过大概两个星期的配置,终于将faster-rcnn安装好了,期间重装了大概十次系统,查阅了无数多文献博客,遇到了无数多坑。本人写这篇文章就是希望读者......
  • Python基础入门学习笔记 024 递归:汉诺塔
    递归求解汉诺塔•对于游戏的玩法,我们可以简单分解为三个步骤–将前63个盘子从X移动到Y上。–将最底下的第64个盘子从X移动到Z上。–将Y上的63个盘子移动到Z上。•问题一:将X上的63个盘子借助Z移到Y上;•问题二:将Y上的63个盘子借助X移到Z上。•对于游戏的玩法,我们可以简单分......
  • Python基础入门学习笔记 025 字典:当索引不好用时
    映射 创建和访问字典>>>dict4=dict(小甲鱼='让编程改变世界',李宁='一切皆有可能')>>>dict4{'小甲鱼':'让编程改变世界','李宁':'一切皆有可能'}>>>dict4['爱迪生']='天才是99%的汗水加1%的灵感'>>&g......
  • Python基础入门学习笔记 021函数:lambda表达式
    lambda表达式的作用•Python写一些执行脚本时,使用lambda就可以省下定义函数过程,比如说我们只是需要写个简单的脚本来管理服务器时间,我们就不需要专门定义一个函数然后再写调用,使用lambda就可以使得代码更加精简。•对于一些比较抽象并且整个程序执行下来只需要调用一两次的函......
  • Python基础入门学习笔记 022 函数:递归是神马
    汉诺塔游戏 树结构的定义 谢尔宾斯基三角形递归求阶乘•写一个求阶乘的函数–正整数阶乘指从1乘以2乘以3乘以4一直乘到所要求的数。–例如所给的数是5,则阶乘式是1×2×3×4×5,得到的积是120,所以120就是4的阶乘。•假设我们n的值传入是5,那么: 实例:求阶乘1deffac......
  • Python基础入门学习笔记 023 递归:这帮小兔崽子
    坑爹的兔子斐波那契数列的迭代实现我们都知道兔子繁殖能力是惊人的,如下图: 我们可以用数学函数来定义: 课间练习:假设我们需要求出经历了20个月后,总共有多少对小兔崽子?(迭代 vs 递归)1deffab(n):2n1=13n2=14n3=156ifn<1:7......
  • Python基础入门学习笔记 015字符串:格式化
     字符串格式化符号含义 将ASCII码97对应的字符输出 格式化整数 格式化操作符辅助命令5表示输出为五位数Python的转义字符及其含义......
  • Python基础入门学习笔记 016 序列!序列!
    •列表、元组和字符串的共同点–都可以通过索引得到每一个元素–默认索引值总是从0开始–可以通过分片的方法得到一个范围内的元素的集合–有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)使用list方法 元组转换为列表 max()返回序列或者参数集合中的最大......
  • Python基础入门学习笔记 018 函数:灵活即强大
    形参和实参>>>defMyFirstFunction(name):'函数定义过程中的name是叫形参'#因为Ta只是一个形式,表示占据一个参数位置print('传递进来的'+name+'叫做实参,因为Ta是具体的参数值!')>>>MyFirstFunction('小甲鱼')传递进来的小甲鱼叫做实参,因为Ta是具体的参数值!关键字参数......