8
我在寫一個程序,它使用urllib2從http站點下載CSV數據。該程序在Python中運行時工作正常,但我也試圖使用argparse能夠從命令行輸入url。AttributeError:'命名空間'對象沒有任何屬性
我收到以下錯誤,當我運行它:
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'
我想這是的urllib2庫的一部分,因爲它不是我寫的代碼。 有沒有其他人遇到與argparse或urllib2模塊類似的問題?
代碼的相關部分如下:
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 <= 0:
raise Exception('Program exited, value <= 0')
else:
displayPerson(ID)
main()
def downloadData(url):
return urllib2.urlopen(url)
堆棧跟蹤當然表明'urllib2'模塊中的一個問題,來自給出的路徑。 – nbro 2015-02-10 02:06:41
向我們展示您所寫的代碼以及您所提供的輸入。 – 2015-02-10 02:24:15
您發佈的代碼不包含包含錯誤的行。你有什麼要求? – 2015-02-11 22:08:04