title: AttributeError: 'Namespace' object has no attribute
body: <p>I am writing a program that uses <em>urllib2</em> to download CSV data from an http site. The program works fine when run within Python, however I am also trying to use <em>argparse</em> to be able to enter the url from the command line.</p>
  
  <p>I get the following error when I run it:</p>
  
  <pre><code>File "urlcsv.py", line 51, in downloadData
      return urllib2.urlopen(url)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 127, in urlopen
      return _opener.open(url, data, timeout)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 396, in open
      protocol = req.get_type()
  AttributeError: 'Namespace' object has no attribute 'get_type'
  </code></pre>
  
  <p>I guess this is part of the <em>urllib2</em> library because it is not code that I have written.
  Has anybody else encountered similar problems with either the <em>argparse</em> or <em>urllib2</em> modules?</p>
  
  <p>The relevant part of the code is as follows:</p>
  
  <pre><code>parser = argparse.ArgumentParser()
  parser.add_argument("url")
  
  
  def main():
      """Runs when the program is opened"""
  
      args = parser.parse_args()
      if args is False:
          SystemExit
      try:
          csvData = downloadData(args)
      except urllib2.URLError:
          print 'Please try a different URL'
          raise
      else:
          LOG_FILENAME = 'errors.log'
          logging.basicConfig(filename=LOG_FILENAME,
                              level=logging.DEBUG,
                              )
          logging.getLogger('assignment2')
          personData = processData(csvData)
          ID = int(raw_input("Enter a user ID: "))
          if ID &lt;= 0:
              raise Exception('Program exited, value &lt;= 0')
          else:
              displayPerson(ID)
              main()
  
  def downloadData(url):
  
      return urllib2.urlopen(url)
  </code></pre>