python中如果我們獲的一個字串為'test',恰好有一個變數為test,如何獲取到該test的值呢?
方法1:用eval函式:
|
dbconfig.py如下: #encoding=utf-8 #定義資料庫(根據excel中的db值,到這里找到同樣的變數名) test={'user':'root', 'password':'','host':'localhost','port':3306,'dbase':'test'} test2={'user':'root2', 'password':'22','host':'localhost22','port':3306,'dbase':'test2'}
HelloTest.py如下: #encoding=utf-8 import dbconfig class Jdbc_pymysql(): def getdbinfo(self,line): db_name = line['db'] dbinfor = eval('dbconfig.'+db_name) print(dbinfor)
if __name__=='__main__': line={'db':'test'} Jdbc_pymysql().getdbinfo(line) 執行結果:列印出:{'user': 'root', 'password': '', 'host': 'localhost', 'port': 3306, 'dbase': 'test'} |
方法2:用反射(變數要放在一個類中才行),比如:
print getattr(Instance , 'age', 'not find') #如果Instance 物件中有屬性age則列印self.age的值,否則列印'not find'
示例如下:
|
#encoding=utf-8
if __name__=='__main__':
將列印出: {'user': 'root', 'password': '', 'host': 'localhost', 'port': 3306, 'dbase': 'test'} |
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/137141.html
標籤:Python
上一篇:windows運行python,提示import win32file ImportError: DLL load failed: 找不到指定的程式。
下一篇:自帶函式
