打开文件
使用 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'
代表追加(在文件末尾添加内容而不覆盖),还有'r+'
代表读写,等等。对于二进制文件,可以加上'b'
,例如'rb'
或'wb'
。 -
其他参数包括缓冲机制、编码方式等,可根据实际情况设定。例如,设置编码为
'utf-8'
可以处理文本文件的编码问题。
读取文件
打开文件后,可以使用以下方法读取内容:
file_object.read(size)
读取文件所有内容或指定大小的数据。file_object.readline()
读取下一行内容。file_object.readlines()
读取所有行,并以列表形式返回。
示例:
解释
-
file = 'example.txt'
# 读取整个文件内容
with open(file, 'r', encoding='utf-8') as f:
content = f.read()
print(content)# 逐行读取文件内容
with open(file, 'r', encoding='utf-8') as f:
for line in f:
print(line.strip()) # 去掉每行末尾的换行符
写入文件
写入文件时,同样先用 open()
函数打开文件,但模式应设为 'w'
或 'a'
:
解释
-
file = 'output.txt'
content_to_write = "Hello, World!"# 写入单行内容
with open(file, 'w', encoding='utf-8') as f:
f.write(content_to_write)# 写入多行内容
lines_to_write = ["Line 1", "Line 2"]
with open(file, 'w', encoding='utf-8') as f:
f.writelines(line + '\n' for line in lines_to_write)
自动关闭文件
推荐使用 with
语句来确保文件在操作完成后自动关闭,即使发生异常也能保证文件资源正确释放。
其他注意事项
- 在进行文件操作时,尤其是在写入文件时,务必注意现有文件内容可能被覆盖的问题。
- 对于大文件读取,应该考虑分块读取以避免一次性加载整个文件到内存导致内存溢出。
以上是Python中进行文件读写的基本操作,实际编程时根据需求灵活运用。