2013-03-11 6 views
14

मैं का उपयोग कर पायथन में कुछ सरल सूत्रण को चलाने के लिए कोशिश कर रहा हूँ में सूत्रण पहले पाइथन, इसलिए मैं कुछ गलत होने के बारे में थोड़ा अनिश्चित हूं। क्या किसी को पता है कि समस्या क्या है?AssertionError जब अजगर

मुझे यकीन नहीं है कि यह बिल्कुल प्रासंगिक है, लेकिन विश्लेषण एक अन्य फ़ाइल से आयात की गई विधि है।

मेरे पास एक फॉलो अप क्वेरी भी थी। विश्लेषण एक शब्दकोश देता है, मैं मूल विधि में उपयोग के लिए इसे निर्दिष्ट करने के बारे में कैसे जाउंगा?

धन्यवाद

उत्तर

29

इसके बजाय आप target कीवर्ड पैरामीटर निर्दिष्ट करना चाहते हैं:

t1 = threading.Thread(target=analysis("samplequery")) 

आप शायद analysis रन लक्ष्य है, लेकिन 'samplequery तर्क बनाने के लिए होती है जब शुरू कर दिया:

t1 = threading.Thread(target=analysis, args=("samplequery",)) 

पर पहला पैरामीटरgroup तर्क है, और वर्तमान में यह केवल None तर्क के रूप में स्वीकार करता है।

threading.Thread() documentation से

:

This constructor should always be called with keyword arguments. Arguments are:

  • group should be None ; reserved for future extension when a ThreadGroup class is implemented.
  • target is the callable object to be invoked by the run() method. Defaults to None , meaning nothing is called.
+0

यह अभी भी 'धागा निर्माता, करने के लिए analysis' का परिणाम है जो जब तक समारोह रिटर्न गलत है गुजरता एक कॉल करने योग्य –

+0

@ g.d.d.c: हाँ, उस पर जा रहा था। :-) –

+0

कोई समस्या नहीं, बस सुनिश्चित करें। :) –

5

आप target विशेषता प्रदान करने की आवश्यकता:

t1 = threading.Thread(target = analysis, args = ('samplequery',)) 
संबंधित मुद्दे