Python学习杂记_7_文件操作

文件操作

Python3用open()方法打开文件并返回文件句柄,有了文件句柄就可以对文件进行各种操作了。

打开文件:

open(“文件名” , 打开方式)            如: f=open(“file.txt”, ‘r’)

# 文件名通常是文件全名,即有路径和扩展名的文件名,如果没有写路径默认为当前路径

# 打开方式决定了文件打开后的状态及如何操作:

r                 # 只读方式(默认的模式,打开的文件不存在会报错)

w               # 只写方式(不可读,文件不存在则创建,存在则清空内容)

a                # 追加写方式(不可读,文件不存在则创建,存在则追加内容)

 

r+               # 可读、可写;可追加,如果打开的文件不存在的话,会报错

w+             # 写读模式,存在的文件内容会被清空,可以读到已经写的文件内容

a+              #追加读写模式,不存在则创建;存在则只追加内容

 

文件操作的常用方法:

f = open('file.txt','r+',encoding='utf-8')    #encoding参数可以指定文件的编码

f.readline()                 # 读一行,返回数据的类型为‘字符串’

f.readable()                # 判断文件是否可读

f.writable()                 # 判断文件是否可写

f.encoding                  # 返回文件的编码

f.read()                        # 读取所有内容,返回数据的类型为‘字符串’

# 大文件时不要用,因为会把文件内容都读到内存中,内存不够的话,会把内存撑爆

f.readlines()               #读取所有文件内容,返回数据的类型是‘列表’,元素是每行的数据,大文件时不要用

# 因为会把文件内容都读到内存中,内存不够的话,会把内存撑爆

f.tell()                          # 获取当前文件的指针指向

f.seek(0)                     # 把当前文件指针指向哪

f.write('爱情证书')  # 写一个字符串到文件

f.writelines([‘123’,’456’,’789’])                  # 写一个列表到文件

f.fulsh()                       #写入文件后,立即从内存中把数据写到磁盘中

f.truncate()                #清空文件内容

f.close()                       # 关闭文件

 

高效读取文件的方法,是利用循环遍历读取文件的行:

f = open('file.txt')

for line in f:

  print(line)

# line是每行文件的内容,读完一行,就会释放一行的内存

 

使用with结构:

文件操作结束后需要关闭文件释放系统资源,但关闭文件常常会被忘记,使用whith方法后文件会被自动关闭。

#打开一个文件,把这个文件的句柄付给f

with open('file.txt','r') as f:               

for line in f:

             print(line)

#这个是多文件的操作,打开两个文件,fr是读file.txt,fw是新建一个file_bak文件

with open('file.txt') as fr,with open('file_bak','w') as fw:                   

for line in fr:                       # 循环file.txt中的每一行

             fw.write(line)               #写到file_bak文件中

posted on 2018-03-21 15:31  轻微强迫症  阅读(87)  评论(0编辑  收藏  举报