我需要閱讀文件喜歡閱讀下面的內容:文件在python
config = {
'name': 'hello',
'see?': 'world'
}
使用鍵,如名字和看到了什麼? ,但我不想在腳本中對這些值進行硬編碼。在這種情況下如何處理更深的嵌套。文件可能包含更多這樣的部分,我怎麼才能在運行時識別'name'屬於哪個部分。
我需要閱讀文件喜歡閱讀下面的內容:文件在python
config = {
'name': 'hello',
'see?': 'world'
}
使用鍵,如名字和看到了什麼? ,但我不想在腳本中對這些值進行硬編碼。在這種情況下如何處理更深的嵌套。文件可能包含更多這樣的部分,我怎麼才能在運行時識別'name'屬於哪個部分。
如果您將結構編碼爲JSON數據,正如我認爲您想要的,並且您在示例中所做的那樣,那麼您只需要在文件中編寫和讀取結構。 作爲一個例子:
import json
config = {
'name': 'hello',
'see?': 'world'
}
out = open('config.json','w')
out.write(json.dumps(config))
out.close()
保存配置文件
input = open('config.json','r')
config = json.loads(input.read())
input.close()
print config
配置文件重新加載
聽起來像你想要一個配置文件?該格式已被定義或者您正在創建它?如果你只是需要從文件中讀取的選項有:
http://docs.python.org/library/configparser.html
它處理INI格式。如果你已經有了上述格式的文件,你可以告訴它是否是JSON格式?如果是這樣,那也有一個模塊。
該文件看起來像有效的Python。如果可以重命名file.py
你可以只使用:
from file import config
print config['name']
print config['see?']
否則,該文件可能是JSON。請參閱http://docs.python.org/library/json.html
我會去的JSON而不是閱讀蟒蛇。更安全,並且會產生可捕獲的錯誤,而不是失敗的解析錯誤。 – 2011-03-15 10:37:45
@Phil H:這個例子是Python。使用配置參數導入Python是非常安全的,並報告完美的可調試錯誤。 – 2011-03-15 14:54:59
看來你的配置格式是有效的python或JSON,它在python中有一個內置的解析器。有關更多信息,請參閱http://docs.python.org/library/json.html。如果你試圖導入一個有效的Python文件作爲配置只需使用import
。
我不明白你的問題。你能否提供一個配置文件和你想從中獲得的數據結構的例子? – 2011-03-15 10:32:44
使用此配置讀取文件?這個配置是什麼?你想打開文件,沒什麼大不了 – Efazati 2011-03-15 10:34:02
可能的重複:http://stackoverflow.com/questions/186916/configuration-file-with-list-of-key-value-pairs-in-python – 2011-03-15 10:37:58