Python 文件与异常处理:从入门到实战
一、文件操作基础
# 读取整个文件
with open("test.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)
逐行读取
with open("test.txt", "r", encoding="utf-8") as f:
for line in f:
print(line.strip())二、文件写入
# 写入(覆盖模式)
with open("output.txt", "w", encoding="utf-8") as f:
f.write("第一行
")
追加模式
with open("output.txt", "a", encoding="utf-8") as f:
f.write("追加的内容
")三、JSON 数据处理
import json
data = {"name": "小明", "age": 25}
json_str = json.dumps(data, ensure_ascii=False, indent=2)
parsed = json.loads(json_str)
print(parsed["name"])
with open("config.json", "r", encoding="utf-8") as f:
config = json.load(f)
四、异常处理:try-except
try:
result = 10 / 0
except ZeroDivisionError:
print("除数不能为零!")
try:
num = int(input("输入数字:"))
except ValueError:
print("请输入有效数字!")
五、实战:自动化备份文件夹
import os, shutil, json
from datetime import datetime
def backup_folder(src, dest):
os.makedirs(dest, exist_ok=True)
backup_name = f"backup_{datetime.now().strftime("%Y%m%d_%H%M%S")}"
shutil.copytree(src, os.path.join(dest, backup_name))
print(f"备份完成:{backup_name}")
backup_folder("/home/ubuntu/documents", "/home/ubuntu/backups")
六、常见错误
FileNotFoundError:文件路径写错了,或文件不在当前工作目录。
UnicodeEncodeError:中文编码不对。所有 open() 加 encoding="utf-8"。