在python代码中查找字符串时遇到问题

在python代码中查找字符串时遇到问题,python,Python,我是python新手 这是我的尝试 import urllib2 email_id = input("enter the email id") content = urllib2.urlopen('https://somewebsite.com/uniqueEmail?email={email_id}.format(email_id=email_id)').read() print content if content.find('"uniqueEmail":false') == True:

我是python新手

这是我的尝试

import urllib2
email_id = input("enter the email id")
content = urllib2.urlopen('https://somewebsite.com/uniqueEmail?email={email_id}.format(email_id=email_id)').read()
print content
if content.find('"uniqueEmail":false') == True:
    print("email exists")
else:
    print("email doesnt exists")
当打印内容代码执行时,我的网站将显示

{"params":{"method":"GET","controller":"GlobalUsers","action":"uniqueEmail","email":"theemailaddress_entered"},"uniqueEmail":true}
因此,如果UniqueMail根据电子邮件是否存在打印出true或false

现在我的怀疑是

我知道通过URL中的参数传递email id变量是错误的


第二个问题是如何检查值是真是假?

是的,您在传递电子邮件id变量时出错,
.format()
应该在字符串的外面,而不是里面。范例-

content = urllib2.urlopen('https://somewebsite.com/uniqueEmail?email={email_id}'.format(email_id=email_id)).read()
content = urllib2.urlopen('https://somewebsite.com/uniqueEmail?email={email_id}'.format(email_id=email_id)).read()

import json
contentdict = json.loads(content)
if contentdict.get('uniqueEmail':   
    print("email exists")
else:
    print("email doesnt exists")
email_id = raw_input("enter the email id")
其次,如果你的网站回复如下-

{"params":{"method":"GET","controller":"GlobalUsers","action":"uniqueEmail","email":"theemailaddress_entered"},"uniqueEmail":true}
这看起来像是一个json响应,因此您应该将其解析为json,使用,然后它将返回一个字典,您可以从字典中获得
uniquemail
信息。范例-

content = urllib2.urlopen('https://somewebsite.com/uniqueEmail?email={email_id}'.format(email_id=email_id)).read()
content = urllib2.urlopen('https://somewebsite.com/uniqueEmail?email={email_id}'.format(email_id=email_id)).read()

import json
contentdict = json.loads(content)
if contentdict.get('uniqueEmail':   
    print("email exists")
else:
    print("email doesnt exists")
email_id = raw_input("enter the email id")
我使用的是
dict.get()
,因为如果密钥不存在,则返回
None
,在这种情况下,这意味着电子邮件不存在


另外,由于您使用的是Python 2.7,从注释中可以看出-


知道现在抛出此错误的原因吗?
Traceback(最后一次调用):文件“C:/Python27/programs/email.py”,第2行,在email\u id=input(“输入电子邮件id”)文件“”中,第1行,在NameError中:未定义名称“test”

您应该使用
raw\u input()
而不是
input()
。范例-

content = urllib2.urlopen('https://somewebsite.com/uniqueEmail?email={email_id}'.format(email_id=email_id)).read()
content = urllib2.urlopen('https://somewebsite.com/uniqueEmail?email={email_id}'.format(email_id=email_id)).read()

import json
contentdict = json.loads(content)
if contentdict.get('uniqueEmail':   
    print("email exists")
else:
    print("email doesnt exists")
email_id = raw_input("enter the email id")

是的,您传递电子邮件id变量时出错,
.format()
应该在字符串的外面,而不是里面。范例-

content = urllib2.urlopen('https://somewebsite.com/uniqueEmail?email={email_id}'.format(email_id=email_id)).read()
content = urllib2.urlopen('https://somewebsite.com/uniqueEmail?email={email_id}'.format(email_id=email_id)).read()

import json
contentdict = json.loads(content)
if contentdict.get('uniqueEmail':   
    print("email exists")
else:
    print("email doesnt exists")
email_id = raw_input("enter the email id")
其次,如果你的网站回复如下-

{"params":{"method":"GET","controller":"GlobalUsers","action":"uniqueEmail","email":"theemailaddress_entered"},"uniqueEmail":true}
这看起来像是一个json响应,因此您应该将其解析为json,使用,然后它将返回一个字典,您可以从字典中获得
uniquemail
信息。范例-

content = urllib2.urlopen('https://somewebsite.com/uniqueEmail?email={email_id}'.format(email_id=email_id)).read()
content = urllib2.urlopen('https://somewebsite.com/uniqueEmail?email={email_id}'.format(email_id=email_id)).read()

import json
contentdict = json.loads(content)
if contentdict.get('uniqueEmail':   
    print("email exists")
else:
    print("email doesnt exists")
email_id = raw_input("enter the email id")
我使用的是
dict.get()
,因为如果密钥不存在,则返回
None
,在这种情况下,这意味着电子邮件不存在


另外,由于您使用的是Python 2.7,从注释中可以看出-


知道现在抛出此错误的原因吗?
Traceback(最后一次调用):文件“C:/Python27/programs/email.py”,第2行,在email\u id=input(“输入电子邮件id”)文件“”中,第1行,在NameError中:未定义名称“test”

您应该使用
raw\u input()
而不是
input()
。范例-

content = urllib2.urlopen('https://somewebsite.com/uniqueEmail?email={email_id}'.format(email_id=email_id)).read()
content = urllib2.urlopen('https://somewebsite.com/uniqueEmail?email={email_id}'.format(email_id=email_id)).read()

import json
contentdict = json.loads(content)
if contentdict.get('uniqueEmail':   
    print("email exists")
else:
    print("email doesnt exists")
email_id = raw_input("enter the email id")

find()
不返回True或False。它返回一个数字。此外,这是JSON,您。
find()
不会返回True或False。它返回一个数字。更重要的是,这是JSON,你知道为什么现在抛出这个错误吗?回溯(最近一次调用):文件“C:/Python27/programs/email.py”,第2行,在email\u id=input(“enter email id”)文件“”中,第1行,在NameError:name“test”中没有定义你正在使用
python 2.7
,使用
raw\u input
。此外,您应该在问题的标签中包含该版本。很高兴我能提供帮助!:)知道为什么现在抛出此错误吗?回溯(最近一次调用上次):文件“C:/Python27/programs/email.py”,第2行,在email\u id=input(“输入email id”)文件“”中,第1行,在NameError:name'test'未定义您正在使用的是
python 2.7
,使用
raw\u input
。此外,您应该在问题的标签中包含该版本。很高兴我能提供帮助!:)