文件操作与格式化输出
原文:文件与格式化 IO
一句话
掌握Python中的字符串格式化技巧和文件读写操作,实现数据的有效处理和持久化。
什么时候翻这页
- 需要格式化输出Agent处理结果或日志信息
- Agent需要读写配置文件或保存中间结果
- 需要结构化地保存或加载Agent的状态数据
- 需要处理Agent工具调用中的输入输出格式转换
核心概念
- 格式化字符串字面值(f-strings):在字符串前加f或F前缀,通过
{expression}嵌入Python表达式 - 字符串format()方法:使用
{}作为占位符,支持位置参数和关键字参数 - 文件操作:使用
open()函数打开文件,支持文本模式和二进制模式 - 上下文管理器:使用
with语句自动管理文件资源 - JSON序列化:使用
json模块保存和加载结构化数据
怎么做
- 使用f-strings格式化字符串:
name = "Alice"
age = 30
print(f"My name is {name} and I am {age} years old.")
- 使用format()方法格式化字符串:
print("Hello, {}. You are {} years old.".format("Bob", 25))
- 读写文件:
# 写入文件
with open("example.txt", "w", encoding="utf-8") as f:
f.write("Hello, world!")
# 读取文件
with open("example.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)
- 使用JSON保存和加载数据:
import json
# 保存数据到JSON文件
data = {"name": "Charlie", "age": 35, "hobbies": ["reading", "hiking"]}
with open("data.json", "w", encoding="utf-8") as f:
json.dump(data, f)
# 从JSON文件加载数据
with open("data.json", "r", encoding="utf-8") as f:
loaded_data = json.load(f)
print(loaded_data)
命令 / API 速查
| API | 描述 |
|---|---|
f"string {variable}" | 格式化字符串字面值 |
"string {}".format(variable) | 字符串format方法 |
open(filename, mode, encoding) | 打开文件 |
with open(...) as f: | 使用上下文管理器 |
f.read() | 读取文件内容 |
f.write(string) | 写入文件 |
json.dump(data, file) | 将数据序列化为JSON并写入文件 |
json.load(file) | 从JSON文件加载数据 |
与 Agent 开发的联系
- Agent工具输出格式化:使用f-strings和format()方法格式化Agent工具的输出结果,提高可读性
- Agent状态持久化:使用JSON保存和加载Agent的状态,实现会话记忆功能
- 配置文件处理:Agent可以通过读写配置文件来调整行为参数
初学者易错点
- 忘记在文件操作后关闭文件,导致资源泄漏
- 在二进制模式下指定encoding参数
- 使用错误的模式打开文件(如尝试读取以'w'模式打开的文件)
- 在JSON序列化时处理特殊对象(如datetime)时出错
- 混淆文本模式和二进制模式的读写操作
相关词条
tutorial-exceptions- 异常处理,用于文件操作错误处理tutorial-modules- 模块导入,用于导入json等模块tutorial-classes- 类定义,用于创建自定义数据结构tutorial-datastructures- 数据结构,用于处理复杂的数据格式tutorial-functional- 函数式编程,用于数据处理管道