一、读取文件
读取文件是Python中最频繁的操作之一。我们可以使用以下三种模式来读取文件。- “r”:以只读模式打开文件。
- “rb”:以二进制格式只读打开文件,用于非文本文件。
- “r+”:以读写模式打开文件。
以只读模式打开文件
file = open("example.txt", "r")
content = file.read()
print(content)
file.close()
在上述示例中,打开了名为example.txt的文件,并使用文件对象中的read()函数读取了整个文件的内容。最后,使用close()函数来关闭文件。
以二进制格式只读打开文件
file = open("example.docx", "rb")
content = file.read()
print(content)
file.close()
像example.docx这样的二进制文件将以只读模式打开,Python需要以二进制格式对其进行解码。
以读写模式打开文件
file = open("example.txt", "r+")
content = file.read()
file.write("This is an example.")
file.seek(0)
updated_content = file.read()
print(content)
print(updated_content)
file.close()
在上述示例中,以读写模式打开文件,可以进行读写操作。执行read()函数后,可以使用write()函数将内容写入文件。在写入新内容后,可以使用seek()函数将文件指针指向文件的开头。最后,将文件指针指向头部并再次读取文件的内容。输出将显示原始内容和更新后的内容。
二、文件写入
除了读取文件外,我们还可以使用几种模式来写入文件。- “w”:以写入模式打开文件。
- “wb”:以二进制格式写入打开文件,用于非文本文件。
- “a”:以附加模式打开文件,任何写入都将添加到文件末尾。
- “ab”:以二进制格式附加打开文件,用于非文本文件。
- “a+”:以读取和附加模式打开文件,任何写入都将添加到文件末尾。
- “ab+”:以二进制格式读取和附加打开文件,用于非文本文件。
以写入模式打开文件
file = open("example.txt", "w")
file.write("Hello World!")
file.close()
在上述示例中,以写入模式打开文件,并使用write()函数写入了“Hello World”字符串到文件中。注意,如果文件不存在,则会创建一个文件。
以读取和附加模式打开文件
file = open("example.txt", "a+")
file.write("\nThis is an example.")
file.seek(0)
content = file.read()
print(content)
file.close()
在上述示例中,使用“a+”模式打开文件,以允许读取和附加操作。使用write()函数将新内容添加到文件末尾,然后允许读取操作。该文件打开模式还在打开文件时将文件指针设置到文件末尾。
三、文件截断
我们可以使用“w”模式加上文件截断函数来清空文件中的内容。实现此目的,可以使用truncate()函数和seek()函数。- truncate():截断文件的长度,即文件中除了前n个字符以外的所有字符都将被删除。
- seek():将文件指向指定位置,可以使用文件指针来读取或写入文件的其他部分。
使用truncate()函数截断文件的长度
file = open("example.txt", "r+")
content = file.read()
print(content)
file.seek(0)
file.truncate(0)
file.write("This is an updated example.")
file.seek(0)
updated_content = file.read()
print(updated_content)
file.close()
在上述示例中,使用“r+”模式打开文件,读取整个文件内容并打印。使用seek()函数将文件指针指向文件起始位置并使用truncate()函数清空文件内容。使用write()函数将新内容写入空文件,打开文件并读取更新后的内容。