Python 2.7.3 IndentationError: s'attendre à un retrait du bloc - peux pas trouver l'erreur

Je suis nouveau sur le python et d'essayer de soumettre ma HW sur Coursera Données de cours de Sciences. L'environnement, il est VM en cours d'exécution Python 2.7.3, le fichier tweet_sentiment.py je suis en train de lancer a le script suivant à l'intérieur:

import sys
import json

def hw():
    print 'Hello, world!'

def lines(fp):
    print str(len(fp.readlines()))

def main():
    sent_file = open(sys.argv[1])
    tweet_file = open(sys.argv[2])
    # hw()
    # lines(sent_file)
    # lines(tweet_file)

    myfile = open(sys.argv[1], 'r')
    lines = myfile.readlines()
    mydict = {}
    for line in lines:
    key, value = line.split("\t")
        mydict[key] = int(value)

    twit_file = open(sys.argv[2], 'r')
    twit_lines = twit_file.readlines()

    mylist = []
    for line in twit_lines:
    mylist.append(json.loads(line))

    for listik in mylist:
    twit_value = 0
    twit_text = listik["text"]
    twit_words = twit_text.split()
    for word in twit_words:
        if word in mydict:
        twit_value =  twit_value + 1
    print float(twit_value)


if __name__ == '__main__':
    main()

Lors de l'exécution de $ python tweet_sentiment.py j'obtiens l'erreur suivante:

    File "tweet_sentiment.py", line 25
    key, value = line.split("\t")
      ^
IndentationError: expected an indented block

Merci pour tous les conseils!
Sergey

Pensez-y de cette façon: Un for instruction ne passe en boucle sur les lignes qui sont en retrait. Puisque vous n'avez pas de lignes en retrait, il n'a rien à faire. Depuis c'est presque certainement pas ce que vous voulez, Python est d'être belle et de vous donner une erreur, au lieu de le traiter comme une boucle de déchets qu'un tas de temps à faire absolument rien.
Aussi, vous avez le même problème avec au moins un des deux endroits: for line in twit_lines: et if word in mydict:.
Enfin, il est intéressant de noter que tous l'une des boucles d'erreurs (que j'ai remarqué, au moins) pourrait être remplacé par une ligne de compréhension de liste, dict compréhension, ou collections.Counter, ce qui signifie que vous n'avez même pas besoin de tiret rien ici de toute façon...
essayez de modifier la question et déplacer le curseur vers la gauche et la droite sur ces espaces, vous verrez les onglets.
En fait, on dirait qu'il a des tabulations et des espaces dans la même ligne, pour rendre les choses encore plus confuses. C'est pourquoi je upvoted votre réponse.

OriginalL'auteur Sergey Samusev | 2013-05-14