2013-02-12 19 views
0

我試圖在argparse中使用一個整數作爲位置參數。由於在下面的完整的Python腳本(從this教程獲取):python的argparse中的整數參數拋出錯誤「無效的int值」期待一個路徑

#!/usr/bin/env python 
    import argparse 
    parser = argparse.ArgumentParser() 
    parser.add_argument("square", help="display a square of a given number", 
        type=int) 
    args = parser.parse_args() 
    print args.square**2 

當我把這個腳本

> script.py 3 

我得到的結果

error: argument square: invalid int value: 'C:\\home\\dev\\freqana\\3' 

​​顯然希望一文件系統路徑在這裏,但爲什麼? type肯定設置爲int

回答

1

該代碼是正確的。我在python 2.7上運行了你的程序,並得到了預期的答案:

> script.py 3 
9 

你是否運行正確的代碼? cat(linux)或type(windows)script.py確保你有最新的,然後在python下明確運行,以確保你沒有在你的路徑上選擇一個不同的script.py(python script.py 3)

+0

感謝您的支持。我的錯:這個系統的確找到了一些不同的東西。如果你確信代碼是正確的,我很容易找到罪魁禍首。 – halloleo 2013-02-12 03:56:15

相關問題