Python IndentationError unindent ne correspond pas à l'extérieur niveau d'indentation
Je suis débutant dans le python
,
J'ai cette erreur :
Error :
def on_data(self,data):
^
IdentationError : unindent does not match any outer indentation level
Je code avec notepad++
dans windows 8.1
. Je ne comprends pas pourquoi j'ai cette erreur, j'ai payé l'attention sur les onglets et l'espace.
Je veux enregistrer des données dans l'auto.fichier
Voici mon code :
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
from tweepy import Stream
import tweepy
import time
class StdOutListener(StreamListener):
def __init__(self,file):
self.file = file
def on_data(self, data):
print data
self.file.write(data)
return True
def on_error(self, status):
print status
def main() :
file = open('work.txt','w')
listn = StdOutListener(file)
consumer_key=""
consumer_secret=""
access_token=""
access_token_secret=""
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
#api = tweepy.API(auth)
#filename=open('helloworld.txt','r')
#f=filename.readlines()
#filename.close()
#for line in f:
# api.update_status(line)
stream = Stream(auth, listn)
stream.filter(track=['lol'])
file.close()
OriginalL'auteur papiyoyo | 2014-11-03
Vous devez vous connecter pour publier un commentaire.
On mélange les tabulations et des espaces. Ne pas le faire. Plus précisément, le
__init__
corps de la fonction est en retrait avec des onglets lors de votreon_data
méthode n'est pas.Voici une capture d'écran de votre code dans mon éditeur de texte; j'ai mis le taquet de tabulation à 8 places (qui est ce que Python utilise) et sélectionné le texte, ce qui provoque l'éditeur affiche les onglets continue, les lignes horizontales:
Vous avez votre éditeur de jeu à l'expansion des onglets pour chaque quatrième colonne au lieu de cela, de sorte que les méthodes apparaissent à la ligne.
Exécuter votre code avec:
et corriger toutes les erreurs qui trouve. Puis configurer votre éditeur de texte à utiliser espaces d'indentation; un bon éditeur va insérer 4 espaces à chaque fois que vous utilisez le TAB.
vous ouvrez l'éditeur et vérifier s'il ya onglet sauts dans la source.
Ah, je le vois. Merci!
merci de me répondre. J'ai vérifié, les onglets = 4 de l'espace. J'ai géré mon code avec '-tt' mais j'ai la même position de l'erreur. J'ai utiliser les tabulations en début de ligne et de l'espace entre les symboles etc. Est-ce mal?
Python suppose 8 cases pour un onglet. Vous n'êtes pas constante à l'aide de tabulations pour l'indentation, on mélange les tabulations et des espaces. Il est très difficile à utiliser uniquement les onglets, c'est pourquoi le Python styleguide fortement recommande de vous en tenir aux espaces.
OriginalL'auteur Martijn Pieters
Sur notepad++ si vous obtenez cette erreur juste ctrl+a, appuyez sur la touche TAB une fois, il va ajouter des onglets partout dans votre code, puis appuyez sur maj+tab pour supprimer l'onglet que vous venez d'ajouter. Il va changer votre "onglets" pour 4 places. Bien sûr, accédez à Paramètres -> Préférences -> Onglet Paramètres -> Remplacer par des espaces. L'avenir des onglets sera désormais 4 espaces.
OriginalL'auteur Seraf
J'ai eu le même problème tout à fait à quelques reprises. C'est arrivé surtout quand j'ai essayé de coller quelques lignes de code à partir d'un éditeur en ligne, les espaces ne sont pas enregistrés correctement comme "onglets" ou "espaces".
Toutefois, le correctif a été assez simple. J'ai juste eu à supprimer l'espacement entre toutes les lignes de code dans l'ensemble de l'espace et de nouveau avec les onglets correctement. Cela a réglé mon problème.
OriginalL'auteur Aswin
Python IndentationError unindent ne correspond pas à l'extérieur niveau d'indentation
ou
OriginalL'auteur Emack333