2009-12-23 6 views
0

Ce code:Pourquoi est-ce une erreur de syntaxe python lors d'une initialisation?

class Todo: 
    def addto(self, list_name="", text=""): 
     """ 
     Adds an item to the specified list. 
     """ 
     if list_name == "": 
      list_name = sys.argv[2] 
      text = ''.join(sys.argv[3:] 

     todo_list = TodoList(getListFilename(list_name)) 

produit une erreur de syntaxe avec la petite flèche pointant vers todo_list sur la dernière ligne.

La méthode __init__ pour TodoList est ici:

def __init__(self, json_location): 
    """ 
    Sets up the list. 
    """ 
    self.json_location = json_location 
    self.load() 

Je suis un peu nouveau pour Python, donc je ne vois pas ce que je fais mal ici.

Répondre

11

vous devez fermer cette)

text = ''.join(sys.argv[3:] 
+2

* Epic facepalm *. Note to self: L'interpréteur n'est pas très précis pour localiser les erreurs de syntaxe. Vérifiez plus en détail la prochaine fois. – Macha

+0

LOL. Cela m'est déjà arrivé plusieurs fois;) – jbochi

+1

@Macha: En fait, il est mortellement précis localiser les erreurs de syntaxe. Ne laissez pas vos hypothèses sur les lignes de code précédentes obscurcir votre interprétation du message d'erreur. L'instruction - sans la fermeture ')' peut continuer jusqu'à ce qu'il soit clair qu'une ponctuation manque. –