将IP地址作为输入时出现Python语法错误

将IP地址作为输入时出现Python语法错误,python,Python,我有一个名为sample_ips.txt的文本文件,其中包含一些随机IP地址,如下所示:- 182.0.0.15 182.0.0.16 182.0.0.17 我提供一个IP地址作为输入,以检查它打印的文本文件中是否存在该IP,否则为false 以下是我的代码片段:- ip_input = str(input("Enter IP:")) ip = open("sample_ips", "r") data = ip.readlines() for ips in data: ips = ip

我有一个名为sample_ips.txt的文本文件,其中包含一些随机IP地址,如下所示:-

182.0.0.15
182.0.0.16
182.0.0.17
我提供一个IP地址作为输入,以检查它打印的文本文件中是否存在该IP,否则为false

以下是我的代码片段:-

ip_input = str(input("Enter IP:"))
ip = open("sample_ips", "r")
data = ip.readlines()
for ips in data:
    ips = ips.strip("\n")
    if ip_input in ips:
        print "true"
    else:
        print "false"
它抛出了一个语法错误

File "<string>", line 1
182.0.0.15
    ^
SyntaxError: invalid sytanx
文件“”,第1行
182.0.0.15
^
SyntaxError:无效的sytanx
我认为它不能将输入作为字符串,尽管我在代码中将其声明为字符串。有什么帮助吗? 谢谢

好吧,这很有效:

input = raw_input("Enter IP:")
ip = open("sample_ips.txt", "r")
data = ip.readlines()
for ips in data:
    ips = ips.strip("\n")
    if input in ips:
        print "true"
    else:
        print "false"

:编辑:

Python3版本

input = input("Enter IP:")
ip = open("sample_ips.txt", "r")
data = ip.readlines()
for ips in data:
    ips = ips.strip("\n")
    if input in ips:
        print ("true")
    else:
        print ("false")

使用
raw\u input
not
input
。我做了,它在@AshwiniChaudharyFYI不起作用,你不应该在这里使用input()-根据,input函数将执行任何用户编写的python代码,这不是你想要的。它给出TypeError:强制使用Unicode:需要字符串或缓冲区,元组查找你使用的python,2还是3?这在Python2上运行得很好。我现在正在使用Python3。Python2中的工作原理与Python2中的工作原理相同。对于Python2和Python3,该解决方案都适用于我。您需要使用原始输入,因为输入尝试将输入作为python代码进行计算。
input_ip = raw_input("Enter IP:") # In python 2.x. If you use input() then type your inputs as string (>>Enter IP:"182.0.0.15")
#input_ip = input("Enter IP:")  for python 3.x

with open("ip.txt", "r") as ip:
    data = ip.readlines()
    for ips in data:
        ips = ips.strip("\n")
        if input_ip in ips:
            print ("true")
        else:
            print ("false")