在Python中,文件操作主要包括以下几个方面:
1. 打开文件
使用内置函数 open()
来打开文件。这个函数接受至少一个参数,即文件路径,并可选地指定一些关键字参数,如文件模式(mode)、缓冲大小(buffering)、编码方式(encoding)等。常见的模式包括:
'r'
:读取模式(默认),打开文件用于读取。'w'
:写入模式,如果文件存在则清空内容,不存在则创建新文件。'a'
:追加模式,在文件末尾添加内容,如果文件不存在则创建新文件。'x'
:独占创建模式,只创建新文件,若文件已存在则引发FileExistsError错误。'b'
:二进制模式,可以与上述任何模式结合,用于处理二进制文件。
示例:
file_path = 'E:workdirreadme.txt'
file_obj = open(file_path, 'r')
2. 读取文件
read()
:读取整个文件内容到一个字符串中。read(size)
:读取指定字节数或字符数的内容。readline()
:读取单行内容。readlines()
:读取所有行内容并返回一个包含每一行内容的列表。
示例:
content = file_obj.read()
first_line = file_obj.readline()
all_lines = file_obj.readlines()
3. 写入文件
write(string)
:将字符串内容写入文件,不会自动添加换行符,需要手动加入\n
。writelines(lines)
:将一个包含多个字符串(通常是行)的列表内容写入文件,也不会自动添加换行符。
示例:
file_obj.write("This is a test string.\n")
lines_to_write = ["Line 1\n", "Line 2"]
file_obj.writelines(lines_to_write)
4. 文件定位与移动指针
seek(offset[, whence])
:改变文件指针的位置。whence
可以为0
(文件开始处,默认)、1
(当前位置)、或2
(文件结束处)。offset
是相对于whence
参数指定位置的偏移量。
示例:
file_obj.seek(10, 0) # 将指针移动到文件开头后的第10个字符处
5. 关闭文件
close()
:确保文件被正确关闭,释放系统资源。在Python中推荐使用上下文管理协议(with语句)来自动关闭文件。
示例:
file_obj.close()
推荐的打开与关闭文件的方式:
# 使用 with 语句,这样在离开 with 块时会自动调用 close 方法
with open(file_path, 'r') as f:
content = f.read()
# 或者进行写操作
with open('output.txt', 'w') as f:
f.write("Some text to write into the file.")
这种方式下,无论是否发生异常,文件都会在操作完成后被妥善关闭。