2013-06-19 9 views
8

त्रुटिलेखन त्रुटि: प्रकार 'bool' की वस्तु sys.argv लंबाई की जांच में कोई लेन() है

TypeError: object of type 'bool' has no 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

एक बेवकूफ टाइपो जिसे मैंने कभी नहीं बनाया, सिवाय इसके कि, इस उत्तर के लिए धन्यवाद, मैंने जांच की और मुझे यह गलती मिली कि मुझे यह पता नहीं चला कि मेरा यूनिट टेस्ट कोड मुझे इसके बारे में बता रहा था। धन्यवाद! –

संबंधित मुद्दे