Python-open函数-读写文件

一、open 函数语法

open() 函数的作用是打开一个文件,并返回一个 file对象(即文件对象)

open 是一个动作,可以理解为我们打开文档的点击动作。

file 对象是一个实物,可以理解为我们打开的具体文档,例如记事本、表格、Word 或其他具体的文档。

open() 函数的语法为:

f = open(file, mode, encoding)

open 函数有3个参数:file, mode, encoding

file:表示要保存或要打开的文件的路径。

mode:表示数据以何种方式打开、写入文本。

encoding:指定了文件的编码方式。

 

1file 参数

当我们手动打开一个文件时,我们首先要知道文件的存储位置。

参数file 就代表文件的存储位置。

参数file 表示要打开文件的路径。

路径可以是绝对路径,也可以是相对路径。

相对路径中.表示当前文件夹,.可以省略不写,…表示上一级文件夹。

 

2mode 参数

2个参数 mode 决定了打开文件的模式。

mode 的模式有6种:

 

【注意事项】

参数 mode 可以不写,不写时默认值为 ‘r’。

也就是说,当不设置参数 mode 时,打开文件会默认只读模式。

 

3encoding 参数

参数 encoding 表示文件的编码方式,文件编码方式一般为 ‘utf-8’。

为了避免程序报错或者读取到的内容出现乱码,需要把 encoding 设置为 ‘utf-8’,即写为 encoding=utf-8’。

 

二、读写文件方式

1、使用open()和close() 

使用Python内置的open()函数,传入文件名和标示符:

f=open(r'text_files.txt','r') #标示符'r'表示读

最后需要调用close()方法关闭文件。文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的:

f.close()

由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。为了保证无论是否出错都能正确地关闭文件,我们可以使用try … finally来实现:

try:
    f=open(r'text_files.txt','r')
    contents=f.read()
    print(contents)
finally: if f: f.close()

 

2、使用with open()

每次都写close()比较繁琐,Python引入with语句,这样能够确保最后文件一定被关闭,且不用手动再调用close方法,效果和前面的try … finally是一样的。

注意:调用read()会一次性读取文件的全部内容

with open(r'text_files.txt','r') as f:
    contents=f.read()
    print(contents)

 注意:

调用read()会一次性读取文件的全部内容,如果文件有20G,内存就爆了,所以,要保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。另外,调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list。因此,要根据需要决定怎么调用。
如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便:

with open(r'text_files.txt','r') as f:
    for line in f.readlines():
        print(line.strip())

相关函数:

f.read(): 读取全部文件内容
f.read(size):  每次读取size个字节内容
f.readline():  每次读取一行的内容
f.readlines():  读取全部内容,但结果是个list,每行内容是一个元素

posted @ 2022-12-28 17:41  业余砖家  阅读(1444)  评论(0)    收藏  举报