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()