Skip to content
Advertisement

How to get the path of a function in Python?

I want to obtain the file path of a function in Python.

How to do it?

For example,

import keras.backend as K
y = K.resize_images(x, 2, 2, 'channels_last')
path = function(K.resize_images)
print(path)
#C:Program FilesPython36Libsite-packageskerasbackendtensorflow_backend.py

Thank you.

Advertisement

Answer

You can use the getfile() function from the inspect module for this purpose.

For example, given the following files:

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

Executing inspect_example.py produces the following output:

$ python inspect-example.py
/home/chuckx/code/stackoverflow/inspect-example.py
/home/chuckx/code/stackoverflow/external_def.py
User contributions licensed under: CC BY-SA
3 People found this is helpful
Advertisement