跳转至

文件、JSON、测试与日志

后端基础程序常要读取配置、保存结果和验证逻辑。对文本文件应明确 encoding="utf-8",并使用 pathlib.Path 表达路径:

from pathlib import Path

path = Path("data") / "config.json"
text = path.read_text(encoding="utf-8")

JSON 适合表示对象、数组、字符串、数值、布尔值和 null

import json

config = json.loads(text)
timeout = config["timeout"]

不要把不可信 JSON 直接反序列化为任意 Python 对象;标准库 json 只处理 JSON 数据模型,但读取后仍要校验字段、类型和取值范围。

最小单元测试

import unittest

def add(left: int, right: int) -> int:
    return left + right

class AddTest(unittest.TestCase):
    def test_add(self) -> None:
        self.assertEqual(add(1, 2), 3)

if __name__ == "__main__":
    unittest.main()

测试文件通常命名为 test_*.py,运行 python -m unittest。测试应覆盖正常输入、边界条件和预期异常。

用 logging 记录运行信息

import logging

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
logger.info("服务已启动")

日志中不要记录密码、令牌、身份证号等敏感信息。异常场景可在 except 中使用 logger.exception(...) 记录堆栈。

参考

评论