2 回答
TA贡献1785条经验 获得超4个赞
要回答您的第一个问题,我认为最好使用的格式是一种广泛使用的标准,如 JSON、XML 或 CSV,用于将数据存储到文件中。
首先,这将意味着您自己实现的逻辑更少——所有序列化和反序列化都可以通过 python 中广泛可用的标准库来完成。其次,大多数编程语言中都存在用于解析这些文件的库,因此如果您发现自己必须将这些数据提取到另一个应用程序中,您将永远不会发现自己必须重新实现该逻辑。最后,由于这些库的使用如此广泛,它们经过了大量优化,因此不太可能给您带来任何性能问题。
我自己会推荐 JSON,因为 python 库使它的使用变得如此简单。以下是在 python 中从文件写入和读取 JSON 的示例:
import json
A = 2
B = 34
C = "foo"
# Write to file
obj = {
'A': A
'B': B
'C': C
}
with open("filename.txt", "w") as f:
json.dump(obj, f)
# Read from file
with open("filename.txt", "r") as f:
obj2 = json.load(f)
A = obj2['A']
B = obj2['B']
C = obj2['C']
TA贡献1836条经验 获得超3个赞
你是对的。这确实是糟糕的设计(因为它与操作系统无关)。
import os
dir = os.path.join('foo', 'bar')
print(dir) # prints the proper dir format in Windows, OSX, Linux
此外,您编写文件的方式很好,但它不会关闭文件以防在f.close(). 因此,您应该使用以下内容:
with open(dir, 'r') as f:
data = f.read()
with 语句是一个块执行上下文管理器,无论在其范围内发生什么,它都会关闭文件。有时,使用 simplef.open是必要的,但这通常包含在 try/except 中。
添加回答
举报