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...]
Pour une raison quelconque, je reçois l'erreur suivante:Erreur lors de la définition de classe python (filetage)
File "pastebin_rip_2.py", line 40
def load_IDs(self, prio):
^
SyntaxError: invalid syntax
Qu'est-ce que je fais mal? pour un moment j'ai considéré le problème pourrait avoir été le placement de init, parce que quand je l'ai déplacé à la fin de la classe Downloader il a bien fonctionné (ce qui n'a pas de sens?). Eh bien, Downloader a fait, de toute façon. Au lieu de cela, j'ai reçu un message concernant la classe après Downloader.
Je ne vois vraiment pas ce qui ne va pas. Aidez-moi?
(code entier: http://snipt.org/xkky)
Ce (et manquant ':') est ce que vous cherchez après un 'SyntaxError' –
C'est un peu gênant ... Merci! – Touzen
Vous oubliez également d'appeler l'initialiseur de la superclasse dans votre méthode init: 'threading.Thread .__ init __ (self)' – codewarrior