首页 > Python资料 博客日记
Python 文件操作基础
2025-01-13 14:00:08Python资料围观30次
本篇文章分享Python 文件操作基础,对你有帮助的话记得收藏一下,看Python资料网收获更多编程知识
Python 文件操作基础
在这篇将详细介绍如何打开文件、读写文件,以及如何处理文件操作中的异常。
1. 打开文件:open()
open()
函数用于打开文件,并返回一个文件对象,你可以通过这个对象操作文件内容。打开文件时,需要指定文件路径和操作模式。
语法:
file_object = open(file_path, mode)
常见操作模式:
模式 | 描述 |
---|---|
'r' | 读取文件(默认模式),文件必须存在。 |
'w' | 写入文件,如果文件存在则清空内容;如果文件不存在则创建。 |
'a' | 追加模式,将新内容添加到文件末尾。 |
'b' | 二进制模式,用于操作非文本文件(如图片、音频)。 |
'rb' | 以二进制模式读取文件。 |
'wb' | 以二进制模式写入文件。 |
示例:打开文件用于读取:
file = open('example.txt', 'r') # 打开文件用于读取
print(file.read()) # 打印文件内容
file.close() # 关闭文件
注意:如果忘记关闭文件,可能会占用系统资源或导致数据未及时写入磁盘。
2. 使用 with
语句自动管理文件
使用 with
语句打开文件时,Python 会在代码块结束后自动关闭文件,避免忘记调用 close()
。
读取文件内容:
with open('example.txt', 'r') as file:
content = file.read() # 读取整个文件内容
print(content) # 打印文件内容
写入文件内容:
with open('example.txt', 'w') as file:
file.write('Hello, Python!\n') # 写入一行文本
追加内容:
with open('example.txt', 'a') as file:
file.write('This is a new line.\n') # 在文件末尾追加一行
3. 读取文件的不同方式
Python 提供了多种读取文件内容的方式,适用于不同的场景。
方法 | 描述 | 示例 |
---|---|---|
read() | 读取整个文件内容为字符串 | content = file.read() |
readline() | 读取文件的一行内容 | line = file.readline() |
readlines() | 读取所有行并返回列表 | lines = file.readlines() |
示例:逐行读取文件:
示例1
with open('example.txt', 'r') as file:
for line in file:
print(line.strip()) # 去除换行符并打印每一行
示例2
with open('example.txt', 'r') as file:
while True:
line = file.readline() # 读取一行
if not line: # 如果是空字符串,说明文件结束
break
print(line.strip()) # 打印当前行内容
小提示: 如果是在某系统使用 ~/xxx.txt情况 , ~
符号(代表用户的主目录)通常不会直接在文件路径中被识别, 通过下面的方案改进
import os
path = os.path.expanduser("~/xxx.txt")
with open(path, 'r') as file:
......
4. 文件异常处理
文件操作中可能会遇到错误,例如文件不存在或没有权限。我们可以使用 try-except
语句来捕获这些异常,避免程序崩溃。
常见异常:
FileNotFoundError
:文件不存在。PermissionError
:没有权限访问文件。
示例:捕获文件异常:
try:
with open('nonexistent.txt', 'r') as file:
content = file.read()
print(content)
except FileNotFoundError:
print("错误:文件不存在。请检查路径。")
except PermissionError:
print("错误:没有权限读取该文件。")
except Exception as e:
print(f"发生了其他错误:{e}")
5. 二进制文件操作
对于非文本文件(如图片或音频),需要以二进制模式读取和写入。
示例:读取二进制文件:
with open('image.jpg', 'rb') as file:
data = file.read()
print(data[:10]) # 打印前10个字节的数据
示例:写入二进制文件:
with open('copy.jpg', 'wb') as file:
with open('image.jpg', 'rb') as src:
file.write(src.read()) # 复制图片
6. 文件路径说明
在 open()
中,文件路径可以是绝对路径或相对路径:
-
绝对路径:从根目录开始的完整路径。
示例:open('/Users/user/documents/file.txt', 'r')
-
相对路径:相对于当前工作目录的路径。
示例:open('file.txt', 'r')
如果路径中有中文或空格,可以使用原始字符串(r''
)避免转义错误:
with open(r'C:\用户\文档\文件.txt', 'r') as file:
print(file.read())
7. 总结
常见的文件操作步骤:
- 使用
open()
或with
语句打开文件。 - 选择合适的读取或写入模式(
'r'
、'w'
、'a'
等)。 - 使用
read()
、write()
、readlines()
等方法进行操作。 - 如果使用
open()
,操作完成后要调用close()
关闭文件。 - 使用
try-except
捕获文件操作中的异常。
完整代码示例:
try:
with open('example.txt', 'r') as file:
print("文件内容:")
print(file.read())
except FileNotFoundError:
print("文件不存在,请检查路径。")
except PermissionError:
print("没有权限访问该文件。")
except Exception as e:
print(f"发生了未知错误:{e}")
8. 小贴士
- 文件操作要小心:写入模式
'w'
会清空文件内容,请确认无误后再使用。 - 处理换行符:读取文本时,可以使用
strip()
去除多余的换行符。 - 二进制操作:当处理图片、音频等非文本文件时,记得使用
'rb'
或'wb'
。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- 光流法结合深度学习神经网络的原理及应用(完整代码都有Python opencv)
- Python 图像处理进阶:特征提取与图像分类
- 大数据可视化分析-基于python的电影数据分析及可视化系统_9532dr50
- 【Python】入门(运算、输出、数据类型)
- 【Python】第一弹---解锁编程新世界:深入理解计算机基础与Python入门指南
- 华为OD机试E卷 --第k个排列 --24年OD统一考试(Java & JS & Python & C & C++)
- Python已安装包在import时报错未找到的解决方法
- 【Python】自动化神器PyAutoGUI —告别手动操作,一键模拟鼠标键盘,玩转微信及各种软件自动化
- Pycharm连接SQL Sever(详细教程)
- Python编程练习题及解析(49题)
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Anaconda版本和Python版本对应关系(持续更新...)
- Python与PyTorch的版本对应
- Windows上安装 Python 环境并配置环境变量 (超详细教程)
- Python pyinstaller打包exe最完整教程