2013-06-19 110 views
8

什麼是錯誤類型錯誤:「BOOL」類型的對象在sys.argv中長度檢查沒有LEN()

TypeError: object of type 'bool' has no len() 

我應該導入我的Python程序什麼原因呢?我在if條件中使用len(sys.argv)來檢查命令行參數的數量,這些參數是浮點值(如1.2和2.4等)。有什麼想法嗎?這是在python2.6。這就是我正在運行的程序

python BeaconsAnalysis.py 2.0 3.0 

和我的代碼我在哪裏進行這樣的檢查一些部分,

with open("luawrite", "r") as f: 
    if(len(sys.argv == 2)): 
      for line in f: 
        t1 = sys.argv[1] 
        t2 = sys.argv[2] 
        hashes = line.split() 
        t = hashes[0] 
        ...........(goes on) 
+0

你能分享你的代碼的相關部分,以及你在命令行傳遞什麼嗎? –

+0

@BenLerner我改變了這樣的代碼,你問 –

+0

得到了我的錯誤。對不起,謝謝。 –

回答

14

你被放錯了地方的括號和需要考慮的腳本名字在argv [0]中。 if(len(sys.argv == 2)):應該是if(len(sys.argv) == 3):

+0

我從來沒有犯過一個愚蠢的錯字,除了這個答案,我檢查了一下,發現了這個非常的錯誤,雖然我的單元測試代碼告訴了我這個錯誤,但我一直無法找到它。謝謝! –

相關問題