對照著書本的教導,定義了函數,[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 pythonimport subprocessdef diskspace(): diskspace="df" diskspace_arg="-h" print ('Gathering diskspace information with %s command:\n' %diskspace) subprocess.call([diskspace,diskspace_arg]) diskspace()
添加回答
舉報
0/150
提交
取消
