python IndentationError"期望一个缩进的块"

时间:2016-12-13 22:37:43

标签: python subprocess

我收到错误" IndentationError:预计会出现缩进块"

第3行     answer = subprocess.check_output([' /home/dir/final/3.sh'])

我的代码是:

import subprocess
while True:
answer = subprocess.check_output(['/home/dir/final/3.sh'])
final = int(answer) // int('1048576')
print final

3.sh结果ex" 493281734"

3 个答案:

答案 0 :(得分:1)

在文档术语中,缩进是指从行距到行中字符开头的距离。

Python使用缩进。在您的代码中,虽然这是一个条件,但要执行为true的所有代码块必须从空白处开始在同一位置,并且必须比该条件离空白处更远。

Python的新手。我也遇到了这个错误。

示例:

if __name__ == '__main__':
    a = int(input())
    b = int(input())
    if a>=1 and a<=10000000000 and b>=1 and b<=10000000000:
    print(a+b)
    print(a-b)
    print(a*b)

将抛出“ IndentationError:预期为缩进的块(solution.py,第5行)”

修复:

if __name__ == '__main__':
    a = int(input())
    b = int(input())
if a>=1 and a<=10000000000 and b>=1 and b<=10000000000:
    print(a+b)
    print(a-b)
    print(a*b)

答案 1 :(得分:0)

第3 - 5行应该是ident - 每行使用标签

答案 2 :(得分:0)

Python需要缩进来指示在for循环下有条件的代码,while循环,if和else语句等。通常,这是在冒号之前依赖逻辑运行的代码。

大多数编码人员使用四个空格进行缩进。

标签是一个坏主意,因为如果在不同的编辑器中间距,它们可能会创建不同的数量。如果您将带标签的缩进与间隔缩进混合,它们也可能会造成混淆。如果您使用的是Eclipse或Eric等IDE,则可以配置按Tab键时IDE将插入的空格数。

我认为你的代码应该是:

import subprocess 

while True: 
    answer = subprocess.check_output(['/home/dir/final/3.sh']) 
final = int(answer) // int('1048576')
print final