Python3 文件操作详解:创建、读写与模式
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程序中实现对文件的创建、读写、定位、关闭以及文件的移动和复制。在实际项目中,根据需求选择合适的模块和方法,灵活运用这些知识,可以大大提高代码的效率和可维护性。
2019-11-26 上传
2024-08-03 上传
weixin_38645198
- 粉丝: 5
- 资源: 956
最新资源
- JavaScript实现的高效pomodoro时钟教程
- CMake 3.25.3版本发布:程序员必备构建工具
- 直流无刷电机控制技术项目源码集合
- Ak Kamal电子安全客户端加载器-CRX插件介绍
- 揭露流氓软件:月息背后的秘密
- 京东自动抢购茅台脚本指南:如何设置eid与fp参数
- 动态格式化Matlab轴刻度标签 - ticklabelformat实用教程
- DSTUHack2021后端接口与Go语言实现解析
- CMake 3.25.2版本Linux软件包发布
- Node.js网络数据抓取技术深入解析
- QRSorteios-crx扩展:优化税务文件扫描流程
- 掌握JavaScript中的算法技巧
- Rails+React打造MF员工租房解决方案
- Utsanjan:自学成才的UI/UX设计师与技术博客作者
- CMake 3.25.2版本发布,支持Windows x86_64架构
- AR_RENTAL平台:HTML技术在增强现实领域的应用