Day 8 : Python 文档操作

Python 文件的操作方法:

打开文件

1 f = open('test','r',encoding='utf-8')
2 #f :文件句柄
3 #test:文件绝对路径
4 #r:打开方式
5 #encoding 打开文件的编码模式
6 with open('test',encoding='utf-8') as f:
7     pass
8 #如果不输入填写的方式默认是已只读的方式打开
9 #这种打开方式,文件操作完了之后,系统自动执行close 关闭文件

文本的打开模式:

      r 以只读方式打开

 w  以写方式打开 (如果文件不存在,就创建文件,如果文件存在,清空文件,再写入)
 a  以追加模式打开 (从 EOF 开始, 必要时创建新文件)
 r+ 以读写模式打开
 w+ 以读写模式打开 
 a+ 以读写模式打开 
 rb 以二进制读模式打开
 wb 以二进制写模式打开 
ab 以二进制追加模式打开 rb+ 以二进制读写模式打开 wb+ 以二进制读写模式打开 ab+ 以二进制读写模式打开 ( x 如果文件存在报错,不存在则创建

文件的操作方法
read :读 如果打开方式是r read(2)就是读取2个字符,如果是r+b打开模式,则参数代表字节
close:关闭文件
seek:定位光标,定位光标后,读取数据或者写入数据,都在光标后操作(seek的参数是以字节单位为准)
readline:读取一行
write:写
flush:刷新至硬盘,写文件默认都是写至内存,如果执行这个命令,相当于保存了。
tell:读取当前光标位置
 1 f = open('test','r+',encoding='utf-8')
 2 # with open('test',encoding='utf-8') as f:
 3 f.read(30)
 4 #read 方法 默认参数是-1 也就是读取至文件末尾
 5 #read(20)意思是,读取20个字节
 6 # f.readline()
 7 #读取一行
 8 #参数也是字节,如果输入参数,则和read方法的效果类似
 9 # f.write('xieru\n')
10 #如果想换行,可以在文件后面加入\n
11 f.seek(20)
12 #seek 定位光标。定位完成之后,再写入,会覆盖后置文字
13 f.write('wo shi sunjinchao')
14 print(f.tell())
15 f.close 记得关闭文件
##当用户有读操作后,写方法就可以在文件后面追加

例子:把每行的文档中,加入一个age。

修改文件(修改文件,不要修改当前文件,只能创建一个新文件,然后把久文件删除。把新文件重命名):必要时先备份

 1 import os #导入os模块,文件操作
 2 file_one = open('flie',encoding='utf-8')
 3 file_two = open('flie_bak','w',encoding='utf- 8 ')
 4 #txt文件
 5 # 1、sunjinchao,25
 6 # 2、xianfangdi,24
 7 # 3、sunjinyao,3
 8 for line in file_one:
 9     print(line)
10     user_list = line.split(',')#字符串方法用逗号分割
11     print(user_list)
12     user_list[0] = user_list[0] + ',age'
13     print(user_list)
14     #user_list[0].用split方法后,一个段字符串为[0]
15     user_str = ','.join(user_list)#拼接字符串
16     print(user_str)
17     file_two.write(user_str)#把新的内容写入至新文件
18 file_one.close()
19 file_two.close()#关闭文件,不然报错
20 os.remove('test')#删除文件
21 os.rename('file_bak','file')#重命名
22 
23 '''
24 输出的内容
25 第1个print :1、sunjinchao,26 
26 第2个print:['1、sunjinchao', '26\n']
27 第3个print:['1、sunjinchao,age', '26\n']
28 第4个print:1、sunjinchao,age,26
29 '''




猜你喜欢

转载自www.cnblogs.com/sunjinchao/p/10886295.html