スコープに問題があります。組み込み関数の結果に対して関数を動作させたいと思いますdir()
。だから、簡単な例として、私はしたい
>>> print (dir())
>>> .... bunch of stuff ...
しかし、このdir()の結果を操作する関数を定義したい。ただし、このように試してみると
>>> def print_dir(dummy_var=None):
print dir()
>>> print_dir()
>>> ['dummy_var']
呼び出されたものの名前空間にアクセスできませprint_dir
んが、これはスコープのことであり、理にかなっていますが、関数が呼び出される名前空間にアクセスする方法はありますか? または、dir() の結果を関数に渡す必要がありますか? お気に入り。
>>> act_on_namespace(dir())
念頭に置いている具体的な目標は次のようなものです。
def act_on_namespace()
for k in dir():
try:
print(eval(k).__module__)
except:
pass