我在 python 目錄中有 2 個檔案。PyDir.File1.py 包含以下格式的字典:
PyDir.File1.py:
dict_1 = {records: "A", ...}
dict_2 = {records: "B", ...}
dict_3 = {records: "C", ...}
PyDir.File2.py 匯入 PyDir.File1.py 并有一個字串串列,其中包含我打算呼叫的字串字典。我知道我可以通過匯入字典并像這樣呼叫它們來單獨呼叫它們:
PyDir.File2.py:
import PyDir.File1
all_dicts = PyDir.File1
saved_dict = all_dicts.dict_1
print(saved_dict)
但是無論如何通過傳遞一個字串串列作為引數來訪問 File1 中的字典嗎?我努力了:
import PyDir.File1
dict_list = ["dict_1", "dict_2"]
all_dicts = PyDir.File1
for i in range(len(dict_list)):
saved_dict = all_dicts[dict_list[i]]
print(saved_dict)
這給了我一個錯誤:
TypeError: 'module' object is not subscriptable
我試圖將它作為地址的擴展傳遞:
saved_dict = all_dicts.dict_list[i]
任何建議表示贊賞。
uj5u.com熱心網友回復:
每個模塊都有一個__dict__屬性,該屬性將模塊中的所有專案放入字典中。
所以你可以做
PyDir.File1.__dict__["dict_1"]
訪問dict_1字典。
不過,如果可能的話,我建議不要這樣做,而是將所有這些 dictsFile1本身放入一個 dict 中:
dicts = {
"dict_1" : {records: "A", ...},
"dict_2" : {records: "B", ...},
#...
}
這樣你就可以做到
PyDir.File1.dicts["dict_1"]
而不是依賴于__dict__其中包含許多其他東西,并且被認為是一種黑客攻擊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/441378.html
上一篇:將字典的值發送到文本框-PythonSelenium
下一篇:用另一個字典過濾一個字典字典
