import urllib2
page =urllib2.urlopen(url)
data = str(page.read())
data2 = str(page.read())
if data == data2:
print "yes"
鉴于上面用Python编写的代码,我无法弄清楚为什么数据和data2之间的比较
if data == data2:
print "yes"
评估为“不相等”,不打印“是”。如果一些Python专家可以帮助我理解我真的很感激。
答案 0 :(得分:0)
我认为比较是以data
和data2
为对象完成的。
试试这个:
import urllib2
page = urllib2.urlopen(url)
data = raw_input(page.read())
data2 = raw_input(page.read())
if data == data2:
print "yes"
我使用read()
raw_input()
答案 1 :(得分:0)
好的,我找到了解决自己问题的方法。如果其他人有类似的问题,我会解释一下我学到的东西。
创建时python中的对象具有关联的内存位置。通常分配对象(str是对象)时,仅分配内存位置,并且没有复制对象的值的副本或深层副本。
Python中存在一个名为' copy'的API。因此,如果我这样做,代码将起作用:
import urllib2
import copy
page =urllib2.urlopen(url)
data1 = str(page.read())
data2 = copy.deepcopy(data1)
if data1 == data2:
print "yes"
感谢回答的人。亲切的问候