nous sommes disposés/forcés à développer une petite application Web pour l'université. Maintenant, nous avons commencé et tout semble aller pour le mieux, jusqu'à ce que cette étrange erreur se produise.
"Déclaration attendue, trouvée py: Dedent"
L'erreur est provoquée par les lignes de code suivantes:
def get_reset_token(self, mysql, userid):
try:
conn = mysql.connect()
cursor = conn.cursor()
cursor.execute("""SELECT token FROM tralala_reset_password
WHERE uid=(%s)""", userid)
data = cursor.fetchall()
cursor.close()
conn.close()
return data[0]
except Exception as e:
app.logger(str(e))
return ""
Pycharm a commencé à marquer le "retour" "".
Meilleures salutations,
Marian
Problème résolu en ignorant l'erreur. Copié dans un autre éditeur et rien ici. Cela semble être une erreur de pycharm.
Meilleures salutations,
Marian
Je me gratifiais aussi la tête pendant un bon moment et le trouvais enfin.
La chose est en dehors de "pycharm n'a pas reconnu certains caractères" portée
Quand vous écrivez ceci:
class Foo:
def complicated_method(self):
for f to self.whatever:
# plenty of code goes here
pass
def another one():
# here to
pass
Et puis vous décidez de le réécrire:
class Foo:
def complicated_method(self):
# plenty of code goes here <- mistakenly leaved unindented, many unseen errors here
pass
def another one(self):
# here to
pass
....
def do(self):
for f in self.whatever:
self.complicated_method() <- here will be Py:DEDENT
Refactoriser les méthodes longues, si vous le pouvez, et Py:DEDENT
ne vous dérangera plus jamais
Mon problème a été causé par le décalage d'indentation. La plupart du document était mis en retrait avec des espaces, mais certains onglets ont été copiés et ont entraîné l'erreur Py: DEDENT. Le remplacement des onglets par des espaces a corrigé l'erreur.