-4

尝试运行脚本时出现错误

Error:"IndentationError: unindent does not match any outer indentation"

引发错误的代码片段:

def update():
    try:
        lines = open("vbvuln.txt", "r").readlines()
    except(IOError): 
         print "[-] Error: Check your phpvuln.txt path and permissions"
         print "[-] Update Failed\n" 
        sys.exit(1)
    try:

这是发生错误的实际行:

print "[-] Update Failed\n" 
4

5 回答 5

6

在and之前放置一个空格sys.exit(1)或删除空格。print "[-] Error: Check your phpvuln.txt path and permissions"print "[-] Update Failed\n"

于 2009-07-14T11:35:58.453 回答
3

正如其他人所提到的,您需要确保每个代码块具有完全相同的缩进。

他们没有提到的是,广泛采用的约定是每个缩进始终使用 4 个空格。在您的代码中,print语句使用 5 个空格缩进(很可能是偶然的)。所以不要在 ; 中添加另一个空格sys.exit(1)。从print语句中删除空格。

修改后的代码:

def update():
    try:
        lines = open("vbvuln.txt", "r").readlines()
    except (IOError): 
        print "[-] Error: Check your phpvuln.txt path and permissions"
        print "[-] Update Failed\n" 
        sys.exit(1)
于 2009-07-14T11:44:45.770 回答
1

保持缩进标准的一个好方法是使用 tab 键而不是空格键。

于 2010-10-05T19:28:38.667 回答
0

你有一个空的 try 块,下面什么都没有。这导致了错误。

顺便说一句,你sys.exit(1)的缩进也是如此。在 python 中,缩进很重要,因为这是 Python 解释器确定代码块的方式。因此,您必须正确缩进代码才能运行代码。

于 2009-07-14T11:35:06.647 回答
0

缩进错误发生在您不正确缩进的地方。从“sys”开头的行中有不同的缩进这一事实可以清楚地看到这一点。

于 2009-07-14T11:44:00.950 回答