First commit

This commit is contained in:
Patrick Elmer 2022-08-29 17:01:14 +09:00
parent 185f10468c
commit 5125c8da2c
2 changed files with 37 additions and 0 deletions

27
pargs.py Normal file
View File

@ -0,0 +1,27 @@
import sys
def parse_args(argv=None):
argv = argv if argv else sys.argv
print(argv)
args = [arg for arg in argv if not arg.startswith('-')]
argv = [arg for arg in argv if arg not in args]
# kwargs = {key: value for key, value in value.split('=') if value.startswith('-') and '=' in value}
# myDict = { k:v for (k,v) in zip(keys, values)}
kwargs = {}
print(argv)
print(args)
print(kwargs)
return args, kwargs
if __name__ == '__main__':
parse_args([
'/home/pat/Git/pargs/pargs.py',
'command',
'positional',
'--flag',
'--optional=value'
])

10
tests/test_appname.py Normal file
View File

@ -0,0 +1,10 @@
import sys
import pytest
from pargs import parse_args
def test_get_appname():
_input = 'appname command positional --flag --optional=value'
args, kwargs = parse_args(_input.split())
assert args == ['appname', 'command', 'positional']
assert kwargs == {'flag': True, 'optional': 'value'}