2013-03-05 36 views
0

當我在Python類型dir(),它可以顯示所有可見的變量,如:如何在python中列出某些類型的所有變量?

>>> dir() 
['ACCT', 'ACEV', 'ALLOW_THREADS', 'ANNOTE_FONT', 'Annotation', 'AnnoteFinder', 'Arrow', 'Artist', 'AutoLocator', 'Axes', 'BS_KM', 'BUFSIZE', 'Button', 'CF_KM'] 

現在我想一個功能,可以列出某些類型的所有變量,例如「str」,方法是:

>>list_all_variable_of_type(str) 

它將返回類型爲'str'的變量列表。

如何編寫'list_all_variable_of_type()'函數?

回答

8

dir只顯示名稱。你需要globals()來訪問實際變量。所以大概:

[name for name, value in globals().items() if isinstance(value, basestring)] 

(請注意,如果你靠這個來訪問一個未知的變量集,你可能就錯了,你應該存儲在像字典的整體數據結構的數據。 )

+0

感謝您的提示。 – bigbug 2013-03-05 11:20:42

相關問題