Improved named_python.
This commit is contained in:
parent
701cf3e0d3
commit
555e2fccb1
1 changed files with 25 additions and 5 deletions
|
@ -1,30 +1,50 @@
|
||||||
'''
|
'''
|
||||||
Because Python is interpreted, when you look at the task manager process list
|
named_python
|
||||||
|
============
|
||||||
|
|
||||||
|
Because Python is interpreted, when you look at the task manager / process list
|
||||||
you'll see that every running python instance has the same name, python.exe.
|
you'll see that every running python instance has the same name, python.exe.
|
||||||
This scripts helps you name the executables so they stand out.
|
This script helps you name the executables so they stand out.
|
||||||
|
|
||||||
For the time being this script doesn't automatically call your new exe, you
|
For the time being this script doesn't automatically call your new exe, you
|
||||||
have to write a second command to actually run it. I tried using
|
have to write a second command to actually run it. I tried using
|
||||||
subprocess.Popen to spawn the new python with the rest of argv but the behavior
|
subprocess.Popen to spawn the new python with the rest of argv but the behavior
|
||||||
was different on Linux and Windows and neither was really clean.
|
was different on Linux and Windows and neither was really clean.
|
||||||
|
|
||||||
|
> named_python name
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
> named_python myserver && python-myserver server.py --port 8080
|
||||||
|
> named_python hnarchive && python-hnarchive hnarchive.py livestream
|
||||||
'''
|
'''
|
||||||
|
import argparse
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
from voussoirkit import betterhelp
|
||||||
from voussoirkit import pathclass
|
from voussoirkit import pathclass
|
||||||
from voussoirkit import winwhich
|
from voussoirkit import winwhich
|
||||||
|
|
||||||
def main(argv):
|
def namedpython_argparse(args):
|
||||||
python = pathclass.Path(winwhich.which('python'))
|
python = pathclass.Path(sys.executable)
|
||||||
|
|
||||||
name = argv[0].strip()
|
name = args.name.strip()
|
||||||
|
|
||||||
named_python = python.parent.with_child(f'python-{name}{python.extension.with_dot}')
|
named_python = python.parent.with_child(f'python-{name}{python.extension.with_dot}')
|
||||||
if named_python.exists:
|
if named_python.exists:
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
os.link(python.absolute_path, named_python.absolute_path)
|
os.link(python.absolute_path, named_python.absolute_path)
|
||||||
|
print(named_python.absolute_path)
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
def main(argv):
|
||||||
|
parser = argparse.ArgumentParser(description=__doc__)
|
||||||
|
|
||||||
|
parser.add_argument('name')
|
||||||
|
parser.set_defaults(func=namedpython_argparse)
|
||||||
|
|
||||||
|
return betterhelp.single_main(argv, parser, __doc__)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
raise SystemExit(main(sys.argv[1:]))
|
raise SystemExit(main(sys.argv[1:]))
|
||||||
|
|
Loading…
Reference in a new issue