Python文件操作

1.文件操作入门

1.1 文件基本操作

日常我们操作文件时,基本分为三步操作:打开,读 / 写,关闭

编码:是将字符(文字,数字,符号)转换为计算机能够存储和处理的数字代码的规则系统,如:ASCII,GBK,UTF-8

小结:

1.2 文件路径写法

在操作文件时,文件路径有两种写法:

  • 相对路径 :相对于当前工作目录的路径,使用 / 连接路径
    • . :当前文件所在目录(可以省略) -------> ./resources/望庐山瀑布.txt
    • ..:当前文件所在的上一级目录 -------> ../第2章/resources/望庐山瀑布.txt
  • 绝对路径:是从文件系统的根目录开始,完整的描述文件位置的路径,使用 \ 或者 / 连接路径

注意:绝对路径中 \ 在字符串中表示的是转义字符,例如 \n,\t,因此 \ 要用 " \\" 表示

1.3 文件操作模式

  • r:只读的方式打开文件,指针放在文件开头(默认)
  • w:只写入模式,从头开始编辑,原有内容会被新写入的覆盖;文件不存在则会创建新文件
  • a:追加模式,新内容会被追加在原有内容之后;文件不存在则创建新文件

2.文件操作(资源释放)

如果使用入门时提供的方法,会存在操作文件过程中出现异常而导致文件无法关闭的问题

2.1 基本资源释放方案

使用try:**** finally:**** 语句

该方法较为繁琐,目前已经舍弃

2.2 主流资源释放方案

使用 with 语句

提示: with 语句的核心作用是确保资源总是被正确获取和释放(即使发生异常,也会被正确释放),是项目开发中的推荐方式

2.3 小结

3.读写json文件

3.1 基本内容

JSON 是软件开发中最常用的数据交换格式,而为了简化 JSON 数据的处理,在 Python 标准库中就提供了处理 JSON 数据的核心模块 json

  • 序列化:把 Python 对象 → JSON 字符串
  • 反序列化:把 JSON 字符串 → Python 对象

文件操作:

  • json.dump(obj,fp):对象写入 json 文件
  • json.load(fp):从 json 文件读成对象

注意:json.dump( ) 接收的是 Python 可序列化对象,字典是最常用的,列表、元组、数字、布尔、None、字符串都可以直接序列化。

3.2 支持转换类型对照

Python 类型 JSON 类型
dict object
list / tuple array
str string
int / float number
True true
False false
None null

不支持直接序列化:datetime、自定义类对象、set 需要自定义处理。

3.3 代码示例

参数说明:indent

  • ensure_ascii = False:中文不转义,正常显示中文
  • indent = 2:格式化缩进2格,美化输出

3.4 小结

相关推荐
starzy19906 分钟前
深入理解Scala嵌套函数:作用域封装之道
开发语言·scala
Sakura_j_h_16 分钟前
从零写一个 MCP stdio Server:用 Python 校验博客文章格式
开发语言·python·自动化·ai工具·mcp·json-rpc
大草原的小灰灰23 分钟前
LLM应用的标准开发框架LangChain(八)- 中间件
python·中间件·langchain
卷无止境34 分钟前
百万 token 时代的真相:主流大模型上下文窗口与最大输出的横向对比分析
人工智能·python
用户298698530141 小时前
Python 实战:将 HTML 批量转换为 Markdown
python·html·markdown
hhcgchpspk1 小时前
flask服务端页面预防被爬措施
后端·python·flask·网络爬虫·防爬
小小张说故事1 小时前
Python 里 copy.copy() 和 deepcopy() 到底差在哪:拆开 __copy__、__deepcopy__ 和那个防止无限递归的 memo 字典
python
vipxieliang1 小时前
Python collections:高效容器与实战案例
后端·python
青少儿编程课堂2 小时前
蓝桥杯青少组图形化 STEMA 省考(报名倒计时·11/22开考)+ 全国青少年信息素养大赛 2026—2027赛季 + 电子学会图形化考级:校园华容道大闯关
c++·python·算法·bfs·信息学竞赛
特创数字科技2 小时前
写了个 Windows 下载器:一键拉 GitHub / Gitee 源码,带 SHA256 校验
python·github