第 6 章:文件与标准库
程序结束,变量就消失了。要让数据留下来,就要写到文件里。 这一章同时带你把标准库用起来——基石的标准库都是中文命名,拿来即用。
6.1 标准库是什么
标准库是随语言附带的一批现成模块。用 导入 引入:
python导入 随机
令 点数 = 随机.随机整数(1, 6)
打印("掷出了", 点数, "点")
导入 模块名 之后,用 模块名.函数(...) 使用里面的功能。
标准库底层调用的是 Python 的成熟实现,你不用担心它的可靠性。
6.2 文件:把数据留下来
导入 文件 后,最常用的就这几个:
python导入 文件
文件.写文本("留言.txt", "你好,文件!\n") # 写(覆盖)
打印(文件.读文本("留言.txt")) # 读
文件.追加文本("留言.txt", "又来了一行\n") # 追加到末尾
打印(文件.文件存在("留言.txt")) # 真
文件.删除文件("留言.txt") # 删除
逐行处理文本文件:
python文件.写行("日记.txt", ["第一天", "第二天"])
遍历 行 在 文件.按行读("日记.txt"):
打印("日记:", 行)
其他实用功能:列出目录(路径)、创建目录(路径)、复制(源, 目标)、 文件大小(路径)、路径拼接(a, b)、文件名(路径)、扩展名(路径)。
路径可以写相对路径(
日记.txt,就在程序所在目录)或绝对路径。
6.3 数学:计算更方便
python导入 数学
打印(数学.开方(16)) # 4.0
打印(数学.四舍五入(3.14159, 2)) # 3.14
打印(数学.绝对值(-5)) # 5
打印(数学.四舍五入(数学.圆周率, 4)) # 3.1416
打印(数学.最大公约数(12, 18)) # 6
打印(数学.最小公倍数(4, 6)) # 12
打印(数学.阶乘(5)) # 120
还有 平方、幂、向上取整、向下取整、对数、常用对数、 正弦、余弦、正切、角度转弧度 等。
6.4 时间:知道现在几点
python导入 时间
打印(时间.现在()) # 2026-09-01 13:40:00
打印(时间.今天()) # 2026-09-01
令 此刻 = 时间.此刻() # 字典:年/月/日/时/分/秒/星期
打印("今年是", 此刻["年"], "年,星期", 此刻["星期"])
打印(时间.星期名("2026-09-01")) # 二
打印(时间.加天数(30, "2026-01-01")) # 2026-01-31
测一段代码跑了多久:
python导入 时间
令 开始 = 时间.高精度时间()
# ……干点活……
令 耗时 = 时间.高精度时间() - 开始
打印("耗时", 耗时, "秒")
6.5 表格:处理 CSV 数据
CSV 是最常见的表格文件(Excel 可以直接打开)。表格 模块让你像操作表格一样处理它:
python导入 表格
# 写一张成绩表:第一行是表头
表格.写表格("成绩.csv", [
["姓名", "分数"],
["小明", "85"],
["小红", "92"],
])
令 t = 表格.读表格("成绩.csv")
打印(表格.表头(t)) # ['姓名', '分数']
打印(表格.挑选(t, "姓名")) # ['小明', '小红']
常用操作一览:
| 功能 | 写法 |
|---|---|
| 读表格 | 表格.读表格("文件.csv") |
| 挑一列 | 表格.挑选(t, "姓名") |
| 挑多列 | 表格.挑选(t, ["姓名", "分数"]) |
| 筛选行 | 表格.筛选(t, "班级", "1班") |
| 排序 | 表格.排序按(t, "分数", 真)(真 = 从大到小) |
| 统计 | 表格.汇总(t, "分数") → 个数/总和/平均/最大/最小 |
| 追加一行 | 表格.追加("文件.csv", ["小刚", "78"]) |
| 写表格 | 表格.写表格("文件.csv", 行列表) |
统计直接一步到位:
python令 s = 表格.汇总(t, "分数")
打印("平均分:", s["平均"], "最高分:", s["最大"])
6.6 试试看
- 写一个留言板:程序运行时让用户输入留言,追加到
留言板.txt,然后打印全部留言。 - 造一张含 5 个学生的成绩 CSV,输出平均分、最高分和按分数排序的名单。
- 用
时间.加天数算出今天往后 100 天是哪天、星期几。
示例代码:
examples/tutorial/08_读写文件.jsh、examples/tutorial/09_成绩表分析.jsh
本章小结
导入 模块名引入标准库,模块名.函数(...)使用- 文件:写文本/读文本/追加文本/写行/按行读/文件存在/删除文件
- 数学:开方/四舍五入/最大公约数/阶乘…;时间:现在/此刻/星期名/加天数
- 表格:读表格/挑选/筛选/排序按/汇总/追加——数据分析的入门钥匙