eolas/neuron/e74b7b2d-cac4-4437-99e5-f94adaa32c60/Single_file_Python_scripts.md
2024-11-21 18:26:02 +00:00

867 B

id tags created
atzw
Friday, April 26, 2024

Single file Python scripts

Basic architecture

#! /usr/local/bin/python3

import sys

if __name__ == "__main__":
    all_args = sys.argv
    specific_arg = sys.argv[0]
    # Main functionality...

When you run a script (module) Python assigns the string __main__ to the __name__ attribute to the script that is being executed.

If you run the script as an import into another script, the __name__ attribute of the imported module is set to the module name, not __main__.

Everything can go under the __main__ conditional, or, for better readability, you can define a main function that is then invoked, e.g:


def main():
    # Do some stuff


if __name__ == "__main__":
    main()

Python modules and imports