3 ms·
This isn't pretty, but it's possible: import sys if sys.version_info[0] < 3: print("Needs Python 3+") sys.exit(1) else: prog = r'''
by emidln 5y ago
This isn't pretty, but it's possible:
import sys
if sys.version_info[0] < 3:
print("Needs Python 3+")
sys.exit(1)
else:
prog = r'''
def help():
print("Help: ...")
def do_spam(*args):
print("spamming")
def main(args):
match args:
case [subcommand, *args]:
return globals()[f'do_{subcommand}'](*args)
case _:
return help()
if __name__ == '__main__':
try:
status = main(sys.argv[1:])
sys.exit(int(status if status is not None else 0))
except Exception as e:
import traceback
traceback.print_exc(e)
sys.exit(1)
'''
compile(prog, '', 'exec')
exec(prog)