How to save a previous command line argument
<p>I'm writing my first python command line tool using docopt and have run into an issue. </p>

<p>My structure is like this:</p>

<pre><code>Usage:
  my-tool configure
  my-tool [(-o &lt;option&gt; | --option &lt;option&gt;)]
  ...
</code></pre>

<p>I'm trying to find a way to run <code>my-tool -o foo-bar</code> first, and then optionally pass the value 'foo-bar' into my configure function if I run <code>my-tool configure</code> next. </p>

<p>In pseduocode, that translates to this:</p>

<pre><code>def configure(option=None):
    print option # With the above inputs this should print 'foo-bar'

def main():
    if arguments['configure']:
       configure(option=arguments['&lt;option&gt;'])
       return
    ...
</code></pre>

<p>Is there a way to get this working without changing the argument structure? 
I'm looking for a way to avoid <code>my-tool configure [(-o &lt;option&gt; | --option &lt;option&gt;)]</code></p>

<p>Since you run this on 2 different instances it might be best to store the values in some sort of config/json file that will be cleared each time you run "configure".</p>

<pre><code>import json

def configure(config_file):
   print config_file[opt_name] # do something with options in file

   # clear config file
   with open("CONFIG_FILE.JSON", "wb") as f: config = json.dump([], f)

def main():
    # load config file
    with open("CONFIG_FILE.JSON", "rb") as f: config = json.load(f)

    # use the configure opt only when called and supply the config json to it
    if sys.argv[0] == ['configure']:
       configure(config)
       return

    # parse options example (a bit raw, and should be done in different method anyway)
    parser = OptionParser()
    parser.add_option("-q", action="store_false", dest="verbose")
    config_file["q"] = OPTION_VALUE
</code></pre>

python python-2.7 command-line-interface docopt