__file__ (A Special variable) in Python

A double underscore variable in Python is usually referred to as a dunder. A dunder variable is a variable that Python has defined so that it can use it in a “Special way”. This Special way depends on the variable that is being used.

Note: For more information, refer to Dunder or magic methods in Python

__file__ variable

__file__ is a variable that contains the path to the module that is currently being imported. Python creates a __file__ variable for itself when it is about to import a module. The updating and maintaining of this variable is the responsibility of the import system. The import system can choose to leave the variable empty when there is no semantic meaning, that is when the module/file is imported from the database. This attribute is a String. This can be used to know the path of the module you are using. To understand the usage of __file__ consider the following example.

Example: Let’s create a module named JustMyModule and store it as a .py file.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Creating a module named
# JustMyModule
  
def hello():
    print("This is imported from JustMyModule")

chevron_right


Now let’s create another file named GFG.py that imports the above created module to show the use of __file__ variable.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Importing the above 
# created module
import JustMyModule
  
  
# Calling the method 
# created inside the module
JustMyModule.hello()
  
# printing the __file__
# variable
print(JustMyModule.__file__)

chevron_right


Output:

file__-python

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.