Python3 文件操作详解:创建、读写与模式

2 下载量 172 浏览量 更新于2024-08-29 收藏 75KB PDF 举报
"test.txt","w+",encoding="utf-8") f.write(message) f.seek(0) # 移动文件指针到文件开头 print(f.read()) # 读取文件内容 f.close() # 关闭文件 1.2 文件读取 在Python中,我们可以使用read(), readline() 和 readlines() 方法来读取文件内容。 - read():一次性读取整个文件内容,如果文件很大,可能会消耗大量内存。 - readline():读取文件的一行内容,适合逐行处理大文件。 - readlines():返回一个包含文件所有行的列表,每行作为一个元素。 示例: f = open("test.txt", "r") content = f.read() # 读取整个文件 lines = f.readlines() # 读取所有行,形成列表 for line in lines: print(line.strip()) # 去除行尾的换行符并打印 f.close() 1.3 文件写入 写入文件有三种方式:write(), writelines(), 还有追加模式('a')。 - write():用于写入字符串或字节,如果文件已存在,会被覆盖。 - writelines():接受一个字符串列表,一次性写入所有内容。 - 'a' 模式:用于向文件追加内容,不会覆盖原有内容。 示例: with open("test.txt", "a") as f: f.write("这是追加的内容。\n") lines_to_write = ["line1\n", "line2\n"] f.writelines(lines_to_write) 1.4 文件关闭 在处理完文件后,应当关闭文件,释放系统资源。可以使用close()方法,或者更安全的使用with语句,它会在离开with代码块时自动关闭文件。 1.5 错误处理 在处理文件时,可能出现文件不存在、权限错误等异常,应该使用try-except语句捕获并处理这些异常。 例如: try: f = open("non_existent_file.txt", "r") except FileNotFoundError: print("文件不存在") finally: if 'f' in locals(): # 检查文件是否已经打开 f.close() 1.6 文件定位 文件对象有一个名为seek()的方法,可以改变文件指针的位置。tell()方法返回当前文件指针的位置。 示例: f = open("test.txt", "r") print(f.tell()) # 输出初始位置 f.seek(5) # 将文件指针移动到第5个字节 print(f.tell()) # 输出新的位置 1.7 文件操作的上下文管理 Python推荐使用with语句处理文件,因为它能确保文件在使用完毕后被正确关闭,即使在处理文件过程中发生异常。 例如: with open("test.txt", "r") as f: content = f.read() print(content) 1.8 文件的复制和移动 Python的shutil模块提供了copy()和move()方法,用于文件的复制和移动。 示例: import shutil shutil.copy("source.txt", "destination.txt") # 复制文件 shutil.move("old_location.txt", "new_location.txt") # 移动文件 以上就是关于Python文件处理的基本操作,通过熟练掌握这些知识点,可以轻松地在Python程序中实现对文件的创建、读写、定位、关闭以及文件的移动和复制。在实际项目中,根据需求选择合适的模块和方法,灵活运用这些知识,可以大大提高代码的效率和可维护性。