我想用一個非常簡單的python代碼使用exec並列出調用函數而不是調用它們。如何在python中使用exec來列出函數調用?
如果我知道哪些函數會被調用,我可以創建一個字典,將名稱函數定義爲print
,並將其用作exec
的第二個參數。
我試圖使用由overwritting 的GetItem打印調用的函數的自定義詞典類,但exec
是沒有幫助的發行:
TypeError: exec: arg 2 must be a dictionary or None
有沒有一種方法可以自定義函數調用中通用的方式?
編輯:
舉例來說,假設我有以下的配置文件,用Python編寫的:
user('foo')
password('foo123')
home('/home/foo')
user('bar')
password('bar123')
home('/home/foo')
我需要運行這個文件,並打印其中包含的信息。我可以做到這一點下面的Python程序:
d = { 'user': print, 'password': print, 'home: 'print }
execfile(filename, d, {})
這種方法的問題是,我有所有存在於文件中的函數初始化d
。我試圖使用自定義詞典,它在getitem上做了一些不同的操作,並獲得了上面的TypeError
。
後一些代碼,請 – 2013-05-09 19:10:40
我讀了3次,我仍然感到困惑。你想做什麼? – CppLearner 2013-05-09 19:10:50
這是一個解決方案的實際問題是什麼? – 2013-05-09 19:12:55