用 with 干净地读写文件,用 JSON 交换数据,并把代码组织成可导入的模块。
在 Kodokon 中打开本课读写文件是真实程序的家常便饭:导出、日志、配置。with 关键字打开文件并保证它会被关闭,即便代码块中途发生错误也一样。这是打开文件唯一专业的方式:没有它,一个被遗忘的 close() 可能会损坏数据,或耗尽系统资源。
lines = ["alpha", "beta", "gamma"]
with open("notes.txt", "w", encoding="utf-8") as f:
for line in lines:
f.write(line + "\n")
with open("notes.txt", encoding="utf-8") as f:
content = f.read()
print(content)对于结构化数据,别自己发明格式:标准库中的 json 模块能把字典和列表转换成文本,也能再转换回来。它是程序、API 和配置文件之间通用的交换格式。
import json
config = {"debug": True, "retries": 3}
with open("config.json", "w", encoding="utf-8") as f:
json.dump(config, f, indent=2)
with open("config.json", encoding="utf-8") as f:
loaded = json.load(f)
print(loaded["retries"]) # 3模块其实就是一个 .py 文件:import billing 会加载 billing.py,并且只运行它的内容一次。请按职责组织你的代码 - 一个模块负责计费,另一个负责存储 - 并把 import 语句放在文件顶部。if __name__ == "__main__" 这个判断区分了两种情况:直接运行时,文件会执行这个代码块;被导入时,则会忽略它。
def compute_total(prices):
return round(sum(prices), 2)
def main():
print(compute_total([9.99, 4.5, 20.0]))
if __name__ == "__main__":
main()python billing.py