example.py 這是一個python腳本,它有一個多級字典。如何更新另一個python文件中的多級字典?
test_dict = {'path': '/home/user/user_name',
'device1': {'IP': '10.10.10.10',
'password': 'pwd1',
'username': 'user1',
'name':'USER_DEFINED'},
'device2': {'IP': '11.11.11.11',
'password': 'pwd2',
'username': 'user2',
'name':'USER_DEFINED_TEST'}
}
我已經寫了一個單獨的python腳本來更新'example.py'
中的字典。目前,我可以通過選項解析器處理第一級字典[例如:路徑和它的值]。 python example.py --key path --value /home/user/user_name
。所以,現在爲了處理更新多級字典值。我如何優化它?你可以幫我嗎 ?
Working :
file_abs_path = "C://Test_Folder//example.py"
module = imp.load_source('test_dict', file_abs_path)
f_dict = module.test_dict
if f_key != "":
for key, value in f_dict.items():
if key == f_key:
f_dict[f_key] = f_value
parser.add_option("-k", "--key", dest="key",default="",help="")
parser.add_option("-v", "--value", dest="value",default="",help="")
f_key = options.key
f_value = options.value
如果在所有更新DEVICE1名&設備2名,也可能是DEVICE1設置名稱。我將如何優化它?
我會加載字典動態地從一個在'example.py'中寫入文件並寫入這個文件。你看過像[cPickle](https://pymotw.com/2/pickle/)這樣的東西嗎? – martianwars
這是一個x-y問題的好例子:-)。你想知道如何更新Python文件中的字典。但是,如果它必須更新,不應該位於Python文件中,而是位於* data *文件中。例如,json模塊在處理字典方面非常出色,同時擁有一種易於手動編輯的格式(使用簡單的文本編輯器)。 –