在Python中,读取和写入文件是非常常见的操作。你可以使用内置的open()函数来打开文件,然后使用文件对象的read()、write()等方法来读取或写入数据。以下是一些基本的示例:
读取文件
假设你有一个名为example.txt的文本文件,你可以使用以下代码来读取它的内容:
|
# 打开文件,'r' 表示只读模式 |
|
with open('example.txt', 'r') as file: |
|
# 读取文件内容 |
|
content = file.read() |
|
print(content) |
如果你只想读取文件的一部分,可以使用read(size)方法来指定读取的字节数,或者使用readline()来读取一行,或者readlines()来读取所有行作为一个列表。
|
# 打开文件,'r' 表示只读模式 |
|
with open('example.txt', 'r') as file: |
|
# 读取文件的第一行 |
|
first_line = file.readline() |
|
print(first_line) |
|
|
|
# 读取文件的所有行,每行作为一个字符串元素的列表 |
|
lines = file.readlines() |
|
for line in lines: |
|
print(line, end='') # end='' 避免打印额外的换行符 |
写入文件
要写入文件,你可以使用write()方法。同样,使用with语句可以确保文件在操作完成后被正确关闭。
|
# 打开文件,'w' 表示写入模式,会覆盖文件原有内容 |
|
with open('output.txt', 'w') as file: |
|
# 写入字符串 |
|
file.write('Hello, world!\n') |
|
file.write('This is a test file.\n') |
如果你希望在文件的末尾添加内容,而不是覆盖原有内容,你可以使用'a'(追加)模式来打开文件。
|
# 打开文件,'a' 表示追加模式,内容将被添加到文件末尾 |
|
with open('output.txt', 'a') as file: |
|
# 追加写入字符串 |
|
file.write('More content has been added.\n') |
请注意,当你以写入或追加模式打开文件时,如果文件不存在,Python会自动创建它。如果你不希望覆盖现有文件,但在写入之前检查文件是否存在,你可以使用os.path模块中的函数来检查。
此外,对于二进制文件的读取和写入,你需要使用'rb'(二进制读取)或'wb'(二进制写入)等模式来打开文件。
这些是最基本的文件操作,但在实际应用中,你可能还需要处理文件路径、文件编码、异常处理等问题。例如,如果文件不存在或无法打开,open()函数会抛出一个异常,你可以使用try...except块来捕获并处理这些异常。