Python编程中的对象持久化、执行环境及相关特性
1. Unicode字符串处理与对象持久化
1.1 Unicode字符串的表示问题
Unicode字符串存在一个棘手的问题,即同一个Unicode字符串可能有多种表示形式。例如,字符U+00F1(ñ)可以完全组合成单个字符U+00F1,也可以分解为多字符序列U+006e U+0303(n, ˜)。若要对Unicode字符串进行一致处理,可使用 unicodedata.normalize() 函数来确保字符表示的一致性。示例代码如下:
import unicodedata
s = "包含特殊字符的字符串"
normalized_s = unicodedata.normalize('NFC', s)
1.2 对象持久化与pickle模块
在Python中,经常需要将对象的内容保存到文件并在之后恢复。一种方法是编写一对函数,以特殊格式从文件中读写数据;另一种方法是使用 pickle 和 shelve 模块。
1.2.1 pickle模块的使用
pickle 模块可以将对象序列化为字节流,写入文件后还能恢复。其接口简单,包含 dump() 和 load() 操作。以下是保存和恢复对象的示例代码:
# 保存对象
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



