unident与任何外部缩进级别都不匹配,为什么会发生这种情况

2024-05-12 19:47:50 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的代码:

import urllib
import re
import requests
import httplib
import socket
from colorama import *
from time import gmtime, strftime
  def hell():
    hcon = raw_input(Fore.RED + Style.BRIGHT + "Website: ")
    r = requests.get("http://" + hcon + "/phpmyadmin")
    r2 = requests.get("http://" + hcon + "/pma")
    if r.status_code == 404:
     print(strftime("[%H:%M:%S]", gmtime()) + " /phpmyadmin/ not found!") 
    elif r: 
     print(strftime("[%H:%M:%S]", gmtime()) + " /phpmyadmin/ successfully found! %s /phpmyadmin") % (hcon)
    elif r2:
     print(strftime("[%H:%M:%S]", gmtime()) + " /phpmyadmin/ successfully found! %s /pma") % (hcon)
    else:
     print(strftime("[%H:%M:%S]", gmtime()) + " nothing found, sorry! try another website.")

hell()

如您所见,如果页面/phpmyadmin或/pma存在于所选网站上,它将输出它已成功找到,如果没有,它将显示“nothing found etc…”

但是我得到了这样一个错误:unident与外部缩进级别不匹配,我在以前的任何python脚本中从未发生过这个错误。在

我已经尽我所能去修复压痕,但我不认为这能解决问题,有人能帮忙吗?在


Tags: fromimporthttpgetrequestsr2printelif
3条回答

在您的例子中,hell方法定义必须在根缩进级别。在

从评论中复制,因为这是现在的答案ish。在

所以你粘贴的代码是不完整的,所以我不能直接修复你得到的错误。在

当一行被X空格缩进,一些行被X+Y+Z空格缩进,最后一行被X+Y空格缩进时,通常会出现错误。无论何时退出,Python都要求您返回到与以前的级别相同的级别。例如:

def foo():
    print "hi!"
  return 42

请注意,return语句的缩进量是2个空格,但是上一行没有缩进2个空格。这是不允许的,它需要缩进到4个空格,或者将print语句移回2个空格的行。在

def hell()和下面的所有内容都应该少1个缩进。在

相关问题 更多 >