2015-05-31 122 views
-1

我學習argparse模塊,和我寫的代碼如下:蟒蛇argparse模塊AttributeError的

import argparse 

parser = argparse.ArgumentParser(description='Process some integers.') 
parser.add_argument('integers', metavar='N', type=int, nargs='+', 
       help='an integer for the accumulator') 
parser.add_argument('--sum', dest='accumulate', action='store_const', 
       const=sum, default=max, 
       help='sum the integers (default: find the max)') 

args = parser.parse_args() 
print args.accumulate(args.integers) 

我救它作爲argparse.py,但是當我在cmd中運行它,它表明:

AttributeError的: '模塊' 對象有沒有屬性 'ArgumentParser'

什麼問題謝謝你的幫助

+0

重命名您的argparse.py文件,因爲您正在從中導入,您還需要刪除任何agparse.pyc文件 –

+0

當您導入時,您正在加載自己,而不是標準庫模塊。 – cdarke

+0

@PadraicCunningham得到它,非常感謝你 – evbo

回答

1

什麼時候?您在Python中說import,解釋器運行搜索以查找具有該名稱的文件。它首先在當前文件夾中查找文件,然後在其他路徑中查找,例如/ usr/lib/python。

因此,當您在說import argparse並命名您的腳本argparse.py時,Python將獲取您的文件並按原樣導入它。

爲了避免出現這種情況,請將文件的名稱更改爲argparse.py以外的名稱。

+0

我會記住這個錯誤,非常感謝你! – evbo