मैं अजगर पर काम कर रहा हूं और 1 पैरामीटर "क्यू" लेते हुए एक थ्रेड निष्पादित करने की कोशिश कर रहा हूं, लेकिन जब मैं इसे निष्पादित करने का प्रयास कर रहा हूं तो एक अजीब अपवाद होता है, यह मेरा कोड है:थ्रेड में अपवाद: उदाहरण नहीं होना चाहिए, उदाहरण के लिए
class Workspace(QMainWindow, Ui_MainWindow):
""" This class is for managing the whole GUI `Workspace'.
Currently a Workspace is similar to a MainWindow
"""
def __init__(self):
try:
from Queue import Queue, Empty
except ImportError:
#from queue import Queue, Empty # python 3.x
print "error"
ON_POSIX = 'posix' in sys.builtin_module_names
def enqueue_output(out, queue):
for line in iter(out.readline, b''):
queue.put(line)
out.close()
p= Popen(["java -Xmx256m -jar bin/HelloWorld.jar"],cwd=r'/home/karen/sphinx4-1.0beta5-src/sphinx4-1.0beta5/',stdout=PIPE, shell=True, bufsize= 4024)
q = Queue()
t = threading.Thread(target=enqueue_output, args=(p.stdout, q))
#t = Thread(target=enqueue_output, args=(p.stdout, q))
t.daemon = True # thread dies with the program
t.start()
# ... do other things here
def myfunc(q):
while True:
try: line = q.get_nowait()
# or q.get(timeout=.1)
except Empty:
print('')
else: # got line
# ... do something with line
print "No esta null"
print line
thread = threading.Thread(target=myfunc, args=(q))
thread.start()
यह निम्न त्रुटि के साथ विफल:
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 504, in run
self.__target(*self.__args, **self.__kwargs)
TypeError: myfunc() argument after * must be a sequence, not instance
मैं न विचार क्या हो रहा है है! कृपया मदद करें!
यह भी देखें: http://stackoverflow.com/q/37400133/1240268 (इस अपवाद को देखने वालों के लिए क्योंकि उनके प्रकार ने स्टार-अनपॅकिंग को परिभाषित नहीं किया है)। –