
在Python中,文件对象是通过内置的open()函数创建的,该函数用于打开一个文件,并返回一个文件对象(有时也称为文件句柄或文件描述符)。文件对象提供了一系列的方法,用于读取、写入、关闭文件等操作。
打开文件
使用open()函数打开文件的基本语法如下:
file_object = open(file_name, mode, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
file_name:要打开的文件名(可以包含路径)。mode:打开文件的模式,如'r'(只读)、'w'(只写)、'a'(追加)等。还可以指定二进制模式(如'rb'、'wb')或文本模式(默认)。- 其他参数(如
buffering、encoding等)通常不需要在常规使用中指定。
文件对象的方法
文件对象提供了多种方法,以下是一些常用的方法:
read(size=-1):从文件中读取指定数量的字节(或字符,如果文件以文本模式打开)并返回它们。如果size未指定或为负数,则读取整个文件。write(data):将指定的数据写入文件。注意,如果文件以文本模式打开,则data必须是字符串。如果文件以二进制模式打开,则data可以是任何二进制数据。close():关闭文件。这是一个很重要的操作,因为它会释放与文件关联的所有资源。虽然Python的垃圾回收机制会在文件对象不再被引用时自动关闭文件,但显式地关闭文件是一个好习惯。flush():将缓冲区中的数据写入文件并清空缓冲区。这通常在你希望确保数据被写入文件后立即完成时使用。seek(offset, whence=0):改变文件的位置。offset是相对于某个位置的偏移量,whence参数指定了这个位置的起点(0表示文件开头,1表示当前位置,2表示文件结尾)。tell():返回文件的当前位置(以字节为单位)。
使用with语句
为了确保文件在使用后能够被正确关闭,Python推荐使用with语句来打开文件。with语句会在代码块执行完毕后自动关闭文件,即使发生了异常也是如此。
示例:
with open('example.txt', 'r') as file:
data = file.read()
print(data)
# 在这里,文件已经被自动关闭,无需显式调用file.close()