获取语​​法错误:如果len(sys.argv)=! 5没有线索为什么代码是错误的

时间:2014-02-04 15:22:56

标签: python syntax-error argv sys

您好我正在处理我的第一个python脚本而且我有一个

  

语法错误:如果len(sys.argv)=! 5 ::

我真的不知道造成它的原因。我在Windows框中使用Wing IDE 5.0中的Python v3.3.3。这是我的第一个脚本,但我知道其他编程语言,所以我不在乎答案是否难以理解。这可能是一个noobish错误..它可能与新语法有关吗?

import shodan
import requests
import sys 

SHODAN_API_KEY = "ENTER API KEY IN HERE"
api = shodan.Shodan(SHODAN_API_KEY)
iptotal = ('IP list')
pagenmbr = 1
if __name__ == "__main__":
        if len(sys.argv) =! 5:
                print('Usage: <query> <username> <password> <lastpagenumber')
                sys.exit(0)

                query = sys.argv[1]
                username = sys.argv[2]
                password = sys.argv[3]
                endpage = sys.argv[4]
                iteratePage(pagenmbr)



                def iteratePage(pagenmbr):
                        try:
                               ...

                        except (shodan.APIError, e):
                                print ('Error: %s' % e)  

pagenmbr = pagenmbr + 1

if pagenmbr <= endpage:
        iteratePage(pagenmbr)

print(iptotal)
#Append succeeded items to file
with open("outputsbb.txt", "a") as myfile:
        myfile.write(iptotal)

我省略了try命令以节省一些空间。如果有人之前有过这个错误,或者可以帮我解决这个问题,并帮助一个编码员,我真的很感激

2 个答案:

答案 0 :(得分:2)

您可以在条件中反转!=。你想写:

if len(sys.argv) != 5:
     #...

请参阅list of Python operators

答案 1 :(得分:1)

您想要len(sys.argv) != 5

  • !=是“不等于”
  • python grammer中不存在
  • =!