python学习笔记9(对文件的操作)

时间:2023-03-09 18:31:56
python学习笔记9(对文件的操作)

一、文件对象

我理解的文件对象就是一个接口,通过这个接口对文件进行相关操作。

二、相关函数

[1]、内建函数:open()

提供了初始化输入/输出(I/O)操作的通用接口,成功打开一个文件后会返回一个文件对象,否则发生IOError异常。语法如下:

file_object = open(file_name,access_mode = 'r',buffering = -1)

分析如下:

1):file_name:表示要打开文件名字的字符串,可以是相对路径也可以是绝对路径。
如:我在D盘新建一个空白名为out的文本文件,然后进行相关操作。
python学习笔记9(对文件的操作)

>>> f = open('../out.txt','w')   # 相对路径
>>> f.write('good') # 以写方式打开
>>> f.close()

则打开该文件后,发现'good'已经写入进去了。

接下来使用绝对路径进行访问,如下:

>>> f = open('D:/out.txt','r')    # 绝对路径
>>> f.read() # 以读方式打开
'good'
>>> f.close() # 文件操作完毕后,切记要关闭

2、可选变量access_mode也是字符串,代表文件打开模式。

python学习笔记9(对文件的操作)

注意:

1):使用'r'或'U'模式打开的文件必须已经存在

2):'w'模式打开的文件若存在则先清空,然后重新创建

3):'a'模式打开的文件是为了追加数据做准备的,所有写入的数据将追加到文件末尾。如果文件不存在,则自动被创建。

4):'+'代表可读可写

5):'b'代表二进制模式访问

6):默认情况下是 'r'

3、buffering可选参数,用于指示访问文件所采用的缓存方式。0表示不缓存;1表示只缓存一行,n代表缓存n行。如果不提供或为负数,则代表使用系统默认的缓存机制。

关闭文件:

打开文件消耗系统资源, 并且依赖于文件模式, 其它程序或许不能访问它们。这就是一旦操作完毕就该关闭文件的重要所在。

接上面的操作,加入还没有关闭:

>>> f = open('E:/test.txt','r')
>>> f.read()
'test'
>>> f.close() # 关闭方法
>>> f.closed # 判断是否已关闭
True
>>> f.tell() # 如果已关闭,一切针对文件操作均无效 Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
f.tell()
ValueError: I/O operation on closed file

[2]、工厂函数file()

与open()一样,可相互替换

>>> f = file('../out.txt','r')
>>> f.read()
'good'
>>> f.close()