Skip to content

Instantly share code, notes, and snippets.

@mhils
Created December 13, 2012 01:58
Show Gist options
  • Save mhils/4273413 to your computer and use it in GitHub Desktop.
Save mhils/4273413 to your computer and use it in GitHub Desktop.
#gist syntax highlighting is somewhat broken atm. Apologies.
import argparse, sys, shlex
print "sys.argv:\n",sys.argv,"\n"
main_parser = argparse.ArgumentParser()
main_parser.add_argument('-script')
main_args = main_parser.parse_args()
print "Main Args:\n", main_args,"\n"
script_parser = argparse.ArgumentParser()
script_parser.add_argument('-foo')
script_args = script_parser.parse_args(shlex.split(main_args.script)[1:])
print "Script Args:\n",script_args,"\n"
"""
Output:
C:\Users\user\Desktop>foo.py -script "file.py -foo \"bar\""
['C:\\Users\\user\\Desktop\\foo.py', '-script', 'file.py -foo "bar"']
Main Args:
Namespace(script='file.py -foo "bar"')
Script Args:
Namespace(foo='bar')
C:\Users\user\Desktop>foo.py -script "file.py -foo \"bar\""
sys.argv:
['C:\\Users\\user\\Desktop\\foo.py', '-script', 'file.py -foo "bar"']
Main Args:
Namespace(script='file.py -foo "bar"')
Script Args:
Namespace(foo='bar')
"""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment