我有一個文件,constants.py
,它包含一堆全局常量。有沒有一種方法,我可以把它們作爲字典來抓取,只是爲了這個文件?從字典獲取全局變量爲字典?
回答
它應該是簡單:
import constants
print(constants.__dict__)
import constants
constants_dict = {}
for constant in dir(constants):
constants_dict[constant] = getattr(constants, constant)
我不確定我是否看到這一點。如何編寫constants_dict['MY_CONSTANT']
比constants.MY_CONSTANT
更好/更容易/更具可讀性?
編輯:
基於評論,我現在看到一些潛在的用途。
這是另一種寫上述方法,取決於你想要的緊湊程度。
constants_dict = dict((c, getattr(constants, c)) for c in dir(constants))
EDIT2:
cji爲贏! constants.__dict__
有一件事我能想到的是使用計算值作爲重點 - 但後來有'getattr'和'setattr'功能。 – cji 2010-08-11 17:10:54
嗯,我可以回答我目前的項目(雖然我的問題是函數,而不是變量):我們必須通過三個套接字連接,USB連接和無線電信號來引用變量(函數,在我的情況下)從函數調用到函數執行的完整路徑)。目標需要一個字符串字典:函數配對來知道要調用哪個函數,只需要給定函數名稱和參數值即可使用。更具體地說,我們配對字符串:函數,然後配對字節:字符串,這讓我們配對字節:函數(嚴重減少數據包大小)。 – 2010-08-11 17:14:02
我將常量傳遞給我的模板...'constants_dict'部分將放棄,並且可以直接使用我的常量。 – mpen 2010-08-11 17:14:15
- 1. 如何刪除全局變量字典?
- 2. 對象/字典全局變量
- 3. 通過全局變量遍歷()字典
- 4. 字典作爲線程安全變量
- 5. 如何從字典中分配全局變量?
- 6. pyspark中的累加器與字典作爲全局變量
- 7. 添加全局字典
- 8. 全局字典對的GCHandle
- 9. Python:打印變量字典字典
- 10. 獲取字典
- 11. 獲取字典
- 12. 獲取字典
- 13. 從字典獲取列表
- 14. 從字典中獲取AnyObject
- 15. 從JSON獲取字典
- 16. 從字典獲取值
- 17. 字典對變量
- 18. 字典變量名?
- 19. Python字典變量
- 20. 爲什麼設置不在當地人,全局變量或變量字典
- 21. 經典的asp獲取全局變量的值
- 22. 從PostgreSQL獲取數據爲字典
- 23. 從字典中提取字典swift
- 24. 從字典中提取字典
- 25. 如何從字典陣列(字典陣列)中的字典獲取objectKey「標題」
- 26. 獲取JSON字典
- 27. GAE Python - 對視圖元素使用全局變量字典
- 28. 將本地字典複製到全局字典
- 29. 根據變量中的元素鍵在列表中獲取字典的字典
- 30. 獲取與最低鍵值字典從字典
哇,這比我的答案簡單。 – tgray 2010-08-11 17:26:10