在 Python 中,with open()
用于打开文件,并且提供了不同的模式来指定对文件进行的操作。其中,r
和 r+
是两种常见的模式。
-
'r'
模式(只读模式):- 使用
'r'
模式打开文件时,你只能读取文件内容,而无法写入或修改文件。 - 如果文件不存在,将会引发
FileNotFoundError
异常。 - 如果成功打开文件,则返回一个文件对象,此时可以使用文件对象的方法(如
read()
、readline()
等)来读取文件内容。
- 使用
-
'r+'
模式(读写模式):- 使用
'r+'
模式打开文件时,你可以既读取文件内容,又可以写入或修改文件。 - 如果文件不存在,将会引发
FileNotFoundError
异常。 - 如果成功打开文件,则返回一个文件对象,此时可以使用文件对象的方法来读写文件内容。
- 使用
# 只读模式('r')
with open("file.txt", "r") a
content = file.read()
print(content)
# 读写模式('r+')
with open("file.txt", "r+")
content = file.read()
print(content)
# 在文件开头写入数据
file.seek(0) # 将文件指针设置到
file.write("New content"
file.seek(0) # 将文件指针重新设
updated_content = file.r
print(updated_content)
需要注意的是,当以 'r+'
模式打开文件时,写入操作会覆盖原有内容。如果想要在文件的特定位置插入数据,可以使用 seek()
方法来设置文件指针的位置。
总结起来,with open()
可以使用不同的模式打开文件, 'r'
模式只允许读取文件内容,而 'r+'
模式既可读又可写。根据你对文件的需求选择合适的模式