Python自动化开发-文件
Python自动化开发-文件处理
文件处理
1. 文件操作简单示范
处理文件例1:读文件
在相同目录下,创建文件:file01,
文件内容如下:
file01
test
test
20210105
#!/usr/bin/env python # -*- coding:utf-8 -*- #文件处理 #文件句柄 f01=open('file01') #文件保存 r01=f01.read() #输出文件内容 print(r01) #打开文件后,关闭文件(句柄) f01.close()
代码运行结果:
file01
test
test
20210105
2. 文件(打开)处理模式
最常用的三种文件处理模式:r(只读),w(只写),a(内容追加)。接下来一一介绍给伙伴们哈~
1)读文件
读文件:read ,readline,readlines
读文件例1:
file1文件内容:
test1
20210105
tttttt
nnnnnkkdk
#!/usr/bin/env python # -*- coding:utf-8 -*- #文件打开处理模式 #文件句柄 f01=open('file01') r01=f01.readlines() print(r01)
代码运行结果:
['test1\n', '20210105\n', 'tttttt\n', 'nnnnnkkdk\n']
读文件例2:
file01文件内容:
11111111111
2222222222222
333333333333333333333
4444444
#!/usr/bin/env python # -*- coding:utf-8 -*- #文件打开处理模式 #文件句柄 f01=open('file01') #readline():每次读取一行 r01=f01.readline() r01=f01.readline() r01=f01.readline() print(r01)
代码运行结果:
333333333333333333333
读文件例3:
file1文件内容:
11111111111
2222222222222
333333333333333333333
4444444
#!/usr/bin/env python # -*- coding:utf-8 -*- #文件打开处理模式 #文件句柄 f01=open('file01') #read():读取全部内容 r01=f01.read() print(r01)
代码运行结果:
11111111111
2222222222222
333333333333333333333
4444444
2)写文件
注意:写入文件的内容必须是字符串,其它类型的内容都不允许!
file02文件为空,写入如下内容:
6666
7777
写文件例1:write()
#!/usr/bin/env python # -*- coding:utf-8 -*- #文件写操作 f01=open('file02','w') f01.write('6666\n') f01.write('7777\n') f01.close()
文件写入内容成功如下:
6666
7777
写文件例2:
file02文件内容如下:
6666
7777
#!/usr/bin/env python # -*- coding:utf-8 -*- #文件写操作 f01=open('file02','w') f01.write('6666\n') f01.write('7777\n') f01.write('88\n99\n') f01.writelines(['999\n','101\n']) f01.close()
写入后的file02文件内容写入成功如下:
6666
7777
88
99
999
101
3)文件内容追加
文件内容追加例1:
file02原文件内容:
111
2222
33333
dfgflg
xcvb
#!/usr/bin/env python # -*- coding:utf-8 -*- #文件内容追加 f01=open('file02','a',encoding='utf-8') f01.write('\n追加哈哈') f01.close()
file03追加成功后的内容如下:
111
2222
33333
dfgflg
xcvb
追加哈哈
4)使用with替代open打开文件
使用with替代open打开文件,好处就是系统自动关闭文件,无需手工关闭文件。
例1:
file03文件内容如下:使用with替代open
1111
2222
333333
#!/usr/bin/env python # -*- coding:utf-8 -*- #文件内容追加,使用with替代open with open('file03','a') as f03: f03.write('\nzhuijia444444') f03.write('\nzhuijia55555555') f03.close()
代码执行后,file03文件追加后的内容如下:
1111
2222
333333
zhuijia444444
zhuijia55555555
5)文件处理b模式
文件b模式例1:
file03文件内容如下:
1111
2222
333333
zhuijia444444
zhuijia55555555
#!/usr/bin/env python # -*- coding:utf-8 -*- #读取文件使用b模式(bite字节方式去读取文件内容) with open('file03','rb') as f03: r01=f03.read() print(r01) f03.close()
代码执行后,输出结果内容为:
b'1111\r\n2222\r\n333333\r\nzhuijia444444\r\nzhuijia55555555'
需要提醒下:由于我使用的是pycharm安装在windows系统中,所以"\r\n"在windows系统表示换行!"\n"在linux系统中表示换行!
6)文件操作的其它方式
3. 自我练习实践
练习实践1:
向一个不存在的文件写入内容,这个文件如果不存在,会自动创建该文件。
#!/usr/bin/env python # -*- coding:utf-8 -*- #使用with代替open,对文件进行读,写,追加操作 #打开文件如果不存在,会自动创建该文件,文件写操作 #文件test02不存在,会自动创建这个文件,并且会向这个文件写入内容 r=open('test02','w',encoding='utf-8') f1=r.write('向test01文件追加内容哈哈20220105') r.close()
代码执行后,会自动创建这个不存在的文件并且会向这个文件写入内容如下:
向test01文件追加内容哈哈20220105
练习实践2:
向文件追加内容,原文件内容:
向test01文件追加内容哈哈20220105
#!/usr/bin/env python # -*- coding:utf-8 -*- #使用with代替open,对文件进行读,写,追加操作 #打开文件如果不存在,会自动创建该文件,文件追加操作 r=open('test02','a',encoding='utf-8') f1=r.write('\n向test02文件追加内容哈哈') r.close()
代码执行后,追加后的文件内容如下:
向test01文件追加内容哈哈20220105
向test02文件追加内容哈哈