📝 Python 修炼日记:掌握项目的“遥控器” (JSON 配置文件)🗓️ 日期:2026-04-17🎯 今日目标:彻底告别“硬编码”,学会让代码读取外部的 JSON 配置文件,做到“改配置不改代码”。
📖 核心概念
在之前写“拖延追踪器”时,我们把任务存到了 .json 文件里。但在真实的 GitHub 项目中,JSON 最常见的用途其实是作为配置文件(Config)。
初学者写代码,喜欢把各种设置死死地写在代码里(这叫硬编码 Hardcoding),比如:download_path = "D:\\downloads"如果别人下载了你的代码,他想存到 E 盘,他就必须在一堆极其复杂的 .py 文件里找到这一行去修改。万一他不小心删了一个逗号,整个程序就崩溃了。
高级开发者绝对不会这么干。他们会把所有需要修改的设置,单独抽离出来,放进一个类似 config.json 的文件里。这个 JSON 文件,就是程序的“遥控器”。 用户只需要改这个文本文件,完全不需要懂 Python 代码,程序就会乖乖听话!
最棒的是,JSON 的格式和我们之前学的 Python 字典 (Dict) 几乎一模一样! 只要你会字典,你就天生会 JSON。
📊 知识汇总表
硬编码 vs 配置文件
| | |
|---|
| 修改难度 | | 极低(单独的文件,一目了然) |
| 安全性 | | 绝对安全(不懂代码的普通用户也能改) |
| GitHub 常见做法 | | 标配(通常叫 config.json 或 settings.json) |
⚙️ 逻辑与流程
当我们运行一个带配置文件的 GitHub 项目时,它的标准启动流程如下:
💻 实战演练
假设我们现在拿到了一个 GitHub 上的“自动发送早安邮件”的脚本。它由两个文件组成:
文件 1:遥控器 config.json(用户只需修改这里)
{ "sender_name": "超级机器人", "target_email": "boss@company.com", "send_time": "08:00", "enable_weather_report":true}
文件 2:主程序 main.py(核心代码,最好别碰)
import json# 1. 读取遥控器 (配置文件)with open("config.json", "r", encoding="utf-8") as f: config = json.load(f) # 这瞬间,config 就变成了一个 Python 字典!# 2. 从字典里取出设置name = config["sender_name"]target = config["target_email"]time = config["send_time"]weather_on = config["enable_weather_report"]# 3. 按照设置执行程序print(f"--- 邮件发送系统启动 ---")print(f"正在准备发给: {target}")print(f"设定的发送时间是: {time}")if weather_on: print(f"【附加功能】已开启天气预报播报。")print(f"落款人将被设置为: {name}")print(f"--- 系统准备就绪 ---")
如果你运行 main.py,它会完美读取 JSON 里的内容并打印出来。
💡 今日感悟
今天最大的收获是:明白了为什么 GitHub 上总有一堆 .json 或 .yaml 文件。
它们不是神秘代码,它们只是作者留给你的“控制面板”!以后拿到开源项目,第一步去配环境(requirements.txt),第二步就该去翻翻它的 config.json,看看有什么好玩的参数可以调。