對照著書本的教導,定義了函數,[root@binzai learning-python]# cat sysinfo.py#!/usr/bin/env pythonimport subprocessdef diskspace():diskspace="df"diskspace_arg="-h"print "Gathering diskspace information with %s command:\n" % diskspacesubprocess.call([diskspace,diskspace_arg])diskspace()運行時報錯了,小弟不解,python比bash shell麻煩多了[root@binzai learning-python]# ./sysinfo.pyFile "./sysinfo.py", line 4diskspace="df"^IndentationError: expected an indented block
2 回答

藍山帝景
TA貢獻1843條經驗 獲得超7個贊
這個是說讓你縮進的。
Python語言是一款對縮進非常敏感的語言,給很多初學者帶來了困惑,即便是很有經驗的Python程序員,也可能陷入陷阱當中。最常見的情況是tab和空格的混用會導致錯誤,或者縮進不對,而這是用肉眼無法分別的。
在編譯時會出現這樣的錯IndentationError:expected an indented block說明此處需要縮進,你只要在出現錯誤的那一行,按空格或Tab(但不能混用)鍵縮進就行。
往往有的人會疑問:我根本就沒縮進怎么還是錯,不對,該縮進的地方就要縮進,不縮進反而會出錯,,比如:
if xxxxxx:
(空格)xxxxx
或者
def xxxxxx:
(空格)xxxxx
還有
for xxxxxx:
(空格)xxxxx
一句話 有冒號的下一行往往要縮進,該縮進就縮進

RISEBY
TA貢獻1856條經驗 獲得超5個贊
#!/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()
添加回答
舉報
0/150
提交
取消