猿问

使用的脚本定义python函数,但是却报错了,该怎么解决?

对照着书本的教导,定义了函数,
[root@binzai learning-python]# cat sysinfo.py
#!/usr/bin/env python
import subprocess
def diskspace():
diskspace="df"
diskspace_arg="-h"
print "Gathering diskspace information with %s command:\n" % diskspace
subprocess.call([diskspace,diskspace_arg])
diskspace()
运行时报错了,小弟不解,python比bash shell麻烦多了
[root@binzai learning-python]# ./sysinfo.py
File "./sysinfo.py", line 4
diskspace="df"
^
IndentationError: expected an indented block

开心每一天1111
浏览 296回答 2
2回答

蓝山帝景

这个是说让你缩进的。Python语言是一款对缩进非常敏感的语言,给很多初学者带来了困惑,即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分别的。在编译时会出现这样的错IndentationError:expected an indented block说明此处需要缩进,你只要在出现错误的那一行,按空格或Tab(但不能混用)键缩进就行。往往有的人会疑问:我根本就没缩进怎么还是错,不对,该缩进的地方就要缩进,不缩进反而会出错,,比如:if xxxxxx:(空格)xxxxx或者def xxxxxx:(空格)xxxxx还有for xxxxxx:(空格)xxxxx一句话 有冒号的下一行往往要缩进,该缩进就缩进

RISEBY

#!/usr/bin/env pythonimport subprocessdef diskspace():    diskspace="df"    diskspace_arg="-h"    print ('Gathering diskspace information with %s command:\n'  %diskspace)    subprocess.call([diskspace,diskspace_arg]) diskspace()
随时随地看视频慕课网APP
我要回答