文件操作

1.对一个txt文件进行读取

 

f = open(r'C:\Users\wangyujian\Desktop\day\day2\day2\Demo.txt', encoding='utf-8')
result = f.read()
print(result)
f.close()

 

2.新建一个txt文件并写入数据

 

f = open('C:\\Users\\wangyujian\\Desktop\\day\\day2\\day2\\Demo1.txt','w', encoding='utf-8')    # w代表写入,r代表只读,只读可以不写,默认就是只读状态
a = ['wyj', '45', '89']
for i in a:
  f.write(i+'\n')
f.close()

 

注意:绝对路径要进行转义,不然报错

 

扩展

1. 打开文件的模式有:

r,只读模式(默认)。
w,只写模式。【不可读;不存在则创建;存在则删除内容;】
a,追加模式。【不可读; 不存在则创建;存在则只追加内容;】

 

2."+" 表示可以同时读写某个文件

r+, 【可读、可写;可追加,如果打开的文件不存在的话,会报错】
w+,【写读模式,使用w+的话,已经存在的文件内容会被清空,可以读到已经写的文件内容】
a+, 【追加读写模式,不存在则创建;存在则只追加内容;】

 
3."U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
rU
r+U
 
4."b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

rb
wb
ab

 

5.文件操作方法:

f = open('file.txt','r+',encoding='utf-8')#encoding参数可以指定文件的编码
f.readline()#读一行
f.readable()#判断文件是否可读
f.writable()#判断文件是否可写
f.encoding#打印文件的编码
f.read()#读取所有内容,大文件时不要用,因为会把文件内容都读到内存中,内存不够的话,会把内存撑爆
f.readlines()#读取所有文件内容,返回一个list,元素是每行的数据,大文件时不要用,因为会把文件内容都读到内存中,内存不够的话,会把内存撑爆
f.write('爱情证书')#写入内容
f.fulsh()#写入文件后,立即从内存中把数据写到磁盘中
f.truncate()#清空文件内容
f.writelines(['爱情证书','孙燕姿'])#将一个列表写入文件中
f.close()关闭文件

 

6.高效读取文件方法(一行一行读)

f = open('a.txt',encoding='utf-8')
for line in f:
  print('每一行的内容:',line)  

f.close()

 
7.修改文件内容

f = open('test.txt','a+')   # 打开文件
f.seek(0)    # 将文件指针移动到起始位置
res = f.read()
new_res = res.replace('A','0')   # 批量修改生成新对象
f.seek(0)
f.truncate()    # 将文件指针移动到初始化位置进行删除文件全部内容
f.write(new_res)   # 将新对象的内容写进文件中
f.close()

 

posted @ 2019-09-16 14:48  面包树下的路人  阅读(132)  评论(0编辑  收藏  举报