本文共 2195 字,大约阅读时间需要 7 分钟。
在Python中,文件操作是日常编程中常用的功能之一。通过合理使用文件操作,可以实现文件的读取、写入、追加以及修改等操作。了解文件操作的权限和编码格式是进行文件操作的重要前提。
文件权限决定了你对文件的操作方式。常见的权限包括:
r): 只能读取文件内容w): 可以向文件中追加内容(注意:如果文件不存在,w权限会自动创建新文件)a): 只能向文件中追加内容,不能修改已有内容r+): 可以读取和追加文件内容w+): 可以读取、写入和修改文件内容a+): 可以读取、追加内容(如果文件不存在,会自动创建)读取文件是最常见的文件操作之一。可以使用以下方法:
# 打开文件并读取内容f = open("a", "r", encoding="utf-8")print(f.read()) # 读取整个文件内容print(f.readline()) # 逐行读取文件内容print(f.readable()) # 判断文件是否可读f.close() # 关闭文件 写入文件可以通过以下方式实现:
# 打开文件并准备写入内容f = open("a", "w", encoding="utf-8")print(f.writable()) # 判断文件是否可写f.write("Hello World!") # 将内容写入文件f.close() 追加写入文件是写入操作的一种高级功能。可以通过以下方法实现:
# 打开文件追加写入内容f = open("a", "a", encoding="utf-8")f.write("\n11111") # 追加一行内容f.writelines(["\nhahhaha", "1111"]) # 将列表中的每个元素作为一行写入文件f.close() 有时候需要对文件进行修改操作,比如清除空白行或换行符。可以通过以下方式实现:
# 打开文件进行修改f = open("a", "r+", encoding="utf-8")lines = f.readlines() # 读取所有行内容line = []for i in lines: line.append(i.replace("\n", ""))print(line)f.writelines(line) # 将修改后的内容写入文件f.close() 除了基础的文件操作,Python还提供了更多高级功能可以帮助开发者更方便地操作文件。
文件编码格式的设置对于正确读取和写入文件内容至关重要。可以通过以下方式设置编码格式:
# 写入文件时设置编码格式f = open("a", "wb")f.write("Hello World!".encode("utf-8"))f.close() # 读取文件时设置编码格式f = open("a", "rb")con = f.read()print(type(con)) # 输出: print(con.decode("utf-8")) # 解码后的字符串f.close() flush() 方法用于立即将文件缓冲区内容写入磁盘,避免数据丢失。
# 使用 flush() 方法f = open("a", "wb")f.write("aaa".encode("utf-8"))f.flush()f.close() tell() 方法返回文件当前的位置,seek() 方法用于移动文件读取或写入的位置。
# 使用 tell() 和 seek() 方法f = open("a", "rb")print(f.tell()) # 输出: <编号> print(f.read()) # 读取文件内容print(f.tell()) # 输出: <新的编号> f.close() 新的编号> 编号> # 使用 seek() 方法移动位置f = open("a", "rb")print(f.read().decode("utf-8")) # 读取当前位置的内容f.seek(1, 0) # 移动到第 2 位print(f.read().decode("utf-8")) # 读取移动后的内容f.close() truncate() 方法可以截断文件的大小。
# 截断文件f = open("a", "r", encoding="utf-8")print(f.name) # 文件名print(f.read()) # 文件内容f.close() 可以通过 f.name 属性获取文件的名称。
# 获取文件名f = open("a", "r", encoding="utf-8")print(f.name) # 输出: <文件名> f.close() 文件名> 通过以上方法,开发者可以更高效地进行文件操作,从而提升代码的性能和可维护性。
转载地址:http://avnq.baihongyu.com/