所以我對Python非常新,我熟悉Java,C和Ruby。Python SyntaxError:無效的語法elif語句
我試着編譯Kali腳本來修復wifi設備的RFkill問題,因爲Kali沒有RFKill。
#!/usr/bin/python
# replacement for rfkill util, which is missing in kali
# By: Geist
from sys import argv
if(argv[1] == "unblock"):
x = open("/sys/class/rfkill/rfkill%s/soft" % argv[2], "w")
x.seek(0)
x.write('0')
elif(argv[1] == "block"):
x = open("/sys/class/rfkill/rfkill%s/soft" % argv[2], "w")
x.seek(0)
x.write('1')
print("interface %s %sed" % (argv[2], argv[1]))
我沒有寫這一點,但我想運行它,我不斷收到一個語法錯誤:無效的語法下的elif(的argv [1] ==「塊」):
我假定這與不正確的縮進有關,如果任何人都可以這樣做,讓我知道我做錯了什麼,爲什麼這會很好!
通常,Python中的if語句中不需要括號(雖然它們是允許的,因此它們不是你的錯誤)。 – Evert
你的確應該縮進'x.seek和x.write'這兩行,就像'x = open ...'縮進一樣。 – fredtantini
請先[請閱讀教程](https://docs.python.org/3/tutorial/introduction.html#first-steps-towards-programming)。它說,除其他外:「循環的主體是縮進的:縮進是Python對語句進行分組的方式。」 – Evert