所以我对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