VOOZH about

URL: https://www.geeksforgeeks.org/python/how-to-call-the-main-function-of-an-imported-module-in-python/

⇱ How to Call the main() Function of an Imported Module in Python - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

How to Call the main() Function of an Imported Module in Python

Last Updated : 23 Jul, 2025

We are given an imported module and our task is to call the main() function of that module after importing it in Python. In this article, we will see how to call the main() of an imported module in Python.

Call the main() Function of an Imported Module in Python

Below, are the code methods of how to call the main() of an imported module in Python:

  • Import and Directly Call main()
  • Using if __name__ == "__main__"
  • Using getattr() to Dynamically Call main()

Import and Directly Call main() Function in Python

The most straightforward method involves importing the module and directly calling its main() function. Let's consider a module named example_module.py with the following structure:

example_module.py: below Python code defines a `main()` function in the module `example_module.py` and executes it only if the module is run directly, not when imported as a module into another script.

main.py : below, code imports the module named `example_module` and directly calls its main() function, executing the code within the main() function of the imported module.

Output

Executing main() in example_module

Using if __name__ == "__main__" in Python

In some cases, the main() function may include command-line argument parsing or other logic that should only be executed when the module is run as the main program. To accommodate this, use the following structure in example_module.py:

example_module.py: below Python code defines a main() function in the module example_module.py and executes it only if the module is run directly, not when imported as a module into another script.

main.py: Below, code imports the module named example_module and calls its main() function only when the script is run directly, not when imported as a module into another script. The if __name__== "__main__": condition ensures selective execution.

Output

Executing main() in example_module

Using getattr() to Dynamically Call main() Function

For more dynamic scenarios, where the module name or function to call may change at runtime, you can use the getattr() function. Assume you have a variable module_name containing the name of the module to import:

example_module.py: below Python code defines a main() function in the module example_module.py and executes it only if the module is run directly, not when imported as a module into another script.

main.py : Below, code dynamically imports a module named "example_module" and dynamically calls its "main()" function using the getattr() function, allowing for flexibility in specifying module and function names at runtime.

Output

Executing main() in example_module

Conclusion

In conclusion, Calling the main() function of an imported module in Python can be achieved through various methods, depending on your specific requirements. Whether you prefer a direct approach, utilize the if __name__ == "__main__" condition, or dynamically call functions using getattr(), Python offers flexibility to suit your coding style and project needs.

Comment