Pythonで関数のパスを取得するにはどうすればいいですか? 質問する

Pythonで関数のパスを取得するにはどうすればいいですか? 質問する

Python で関数のファイル パスを取得したいです。

どうやってするの?

例えば、

import keras.backend as K
y = K.resize_images(x, 2, 2, 'channels_last')
path = function(K.resize_images)
print(path)
#C:\Program Files\Python36\Lib\site-packages\keras\backend\tensorflow_backend.py

ありがとう。

ベストアンサー1

あなたはgetfile()機能からモジュールを検査するこの目的のために。

たとえば、次のファイルがあるとします。

inspect-example.py

#!/usr/bin/python

import os
import inspect
import external_def

def foo():
  pass
    
print(os.path.abspath(inspect.getfile(foo)))
print(os.path.abspath(inspect.getfile(external_def.bar)))

external_def.py

def bar():
  pass

実行するとinspect_example.py次の出力が生成されます。

$ python inspect-example.py
/home/chuckx/code/stackoverflow/inspect-example.py
/home/chuckx/code/stackoverflow/external_def.py

おすすめ記事