getting arguments from command line python
<p>I am trying to get three arguments from command line:</p>

<pre><code>-o (for outputfile) -k (number of clusters) -l (data to be clustered)
</code></pre>

<p>So i wrote this.</p>

<pre><code>def get_input():
print 'ARGV      :', sys.argv[1:]

options, remainder = getopt.getopt(sys.argv[1:], 'o:v:k:l', ['output=', 
                                                     'verbose',
                                                     'k_clust=',
                                                     'limit='])
print "options ",options
file_flag , k_flag, count_flag = False, False,False
for opt, arg in options:
    print opt
    if opt in ('-o', '--output'):
        print "here ", opt, arg
        output_filename = arg
        o_flag = True

    if opt in ('-v', '--verbose'):
        verbose = True
    if opt == '--version':
        version = arg

    if opt in ('-k','--k_clust'):
        print "here", opt, arg
        k_clust = arg
        k_flag = True

    if opt in ('-l','--limit'):
         kcount = arg
         assert kcount!=0 and kcount!= ''
         print "limit ", arg
         count_flag = True
if k_flag == False:
    sys.exit(" no cluster specified, will be exiting now")
if o_flag == False:
    print "using default outfile name ",output_filename
if count_flag == False:
   kcount = 10000000


return output_filename, k_clust,kcount
</code></pre>

<p>Everything is working on fine except the -l flag
so if my command line command is this:</p>

<pre><code>$python foo.py -o foo.txt -k 2 -l 2
</code></pre>

<p>and the print argv prints </p>

<pre><code>ARGV      : ['-o', 'demo.txt', '-k', '2', '-l', '2']
</code></pre>

<p>but the options is:</p>

<pre><code>options  [('-o', 'demo.txt'), ('-k', '2'), ('-l', '')]
</code></pre>

<p>Notice that nothing is being parsed in the "l" field.
Wat am i doing wrong?
Thanks</p>
