推荐答案
在 Python 中,文件读写操作通常使用内置的 open()
函数来实现。以下是一个简单的示例,展示了如何读取和写入文件:
# 写入文件 with open('example.txt', 'w') as file: file.write('Hello, World!') # 读取文件 with open('example.txt', 'r') as file: content = file.read() print(content)
关键点:
open()
函数用于打开文件,并返回一个文件对象。with
语句用于确保文件在使用后正确关闭,即使发生异常也是如此。'w'
模式用于写入文件,如果文件已存在,则会覆盖原有内容。'r'
模式用于读取文件内容。
本题详细解读
1. 文件写入操作
在 Python 中,写入文件通常使用 open()
函数的 'w'
模式。如果文件不存在,open()
会自动创建该文件。如果文件已存在,'w'
模式会清空文件内容并从头开始写入。
with open('example.txt', 'w') as file: file.write('This is a new line.')
'w'
模式:写入模式,会覆盖文件原有内容。file.write()
:用于将字符串写入文件。
2. 文件读取操作
读取文件通常使用 open()
函数的 'r'
模式。'r'
模式是默认模式,用于读取文件内容。
with open('example.txt', 'r') as file: content = file.read() print(content)
'r'
模式:读取模式,用于读取文件内容。file.read()
:读取文件的全部内容并返回为字符串。
3. 追加模式
如果你希望在文件末尾追加内容而不是覆盖原有内容,可以使用 'a'
模式。
with open('example.txt', 'a') as file: file.write('\nThis line is appended.')
'a'
模式:追加模式,在文件末尾添加内容。
4. 逐行读取
对于大文件,逐行读取可以节省内存。
with open('example.txt', 'r') as file: for line in file: print(line.strip())
file
对象是可迭代的,每次迭代返回文件的一行。line.strip()
:去除行末的换行符。
5. 读写二进制文件
对于二进制文件(如图片、视频等),可以使用 'rb'
和 'wb'
模式。
# 写入二进制文件 with open('example.bin', 'wb') as file: file.write(b'Binary data') # 读取二进制文件 with open('example.bin', 'rb') as file: content = file.read() print(content)
'wb'
模式:写入二进制数据。'rb'
模式:读取二进制数据。
6. 异常处理
在实际应用中,文件操作可能会引发异常(如文件不存在、权限问题等),因此建议使用 try-except
块来处理异常。
try: with open('example.txt', 'r') as file: content = file.read() print(content) except FileNotFoundError: print("File not found.") except IOError: print("An error occurred while reading the file.")
FileNotFoundError
:文件不存在的异常。IOError
:输入输出操作失败的异常。