定义python类时出错(线程)

时间:2011-06-20 23:28:41

标签: python multithreading class

class Downloader(threading.Thread):
    def __init__(self, priority_level, output_function):
        self.IDs = self.load_IDs(priority_level)
        self.sleep_interval = self.gen_sleep(priority_level)
        self.output = output_function
        self.name = '[Downloader::%s]'%(str(priority_level))

        self.output('[Downloader] New downloader created (prio: %s)!'%(str(priority_level))

    def load_IDs(self, prio):
        filename = 'id_prio%s.data'%str(prio)
        ID_file = open(filename, 'r')
        ID_data = ID_file.read()
        ID_file.close()

        temp = open(filename, 'w')
        temp.write('\n')
        temp.close()

        IDs = [line.split(':') for line in ID_data.split('\n') if ID != '']

        return IDs

[MORE CODE...]

出于某种原因,我收到以下错误:

  File "pastebin_rip_2.py", line 40
    def load_IDs(self, prio):
      ^
SyntaxError: invalid syntax

我做错了什么?我认为问题可能是放置 init ,因为当我将它移动到Downloader类的末尾时,它运行正常(这没有意义吗?)。好吧,无论如何,Downloader都做了。相反,我在Downloader之后收到了一条抱怨课程的消息。

我真的没有看到什么是错的。帮助

(整个代码:http://snipt.org/xkky)

1 个答案:

答案 0 :(得分:4)

我认为你错过了这一行的结束语:

self.output('[Downloader] New downloader created (prio: %s)!'%(str(priority_level))