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 中。
添加回答
舉報