Python 2.7 如何在Python中比较这些对象

Python 2.7 如何在Python中比较这些对象,python-2.7,if-statement,printing,Python 2.7,If Statement,Printing,鉴于上面用Python编写的代码,我不明白为什么要比较data和data2 import urllib2 page =urllib2.urlopen(url) data = str(page.read()) data2 = str(page.read()) if data == data2: print "yes" 计算结果为“不相等”,不打印“是”。如果一些Python专家能帮助我理解,我会非常感激。我认为比较是将数据和数据2作为对象进行的 试试这个: if data ==

鉴于上面用Python编写的代码,我不明白为什么要比较data和data2

import urllib2

page =urllib2.urlopen(url)

data = str(page.read())

data2 = str(page.read())

if data == data2: 
    print "yes"

计算结果为“不相等”,不打印“是”。如果一些Python专家能帮助我理解,我会非常感激。

我认为比较是将
数据
数据2
作为对象进行的

试试这个:

if data == data2: 
    print "yes"

我使用
raw\u input()
输入变量
read()
,好的,我找到了自己问题的解决方案。如果其他人也有类似的问题,我会解释一下我学到的东西

对象在python中创建时具有关联的内存位置。通常分配对象(str是对象)时,只分配内存位置,不复制或深度复制复制复制对象的值

Python中存在一个名为“copy”的API。因此,如果我这样做,代码将起作用:

import urllib2

page = urllib2.urlopen(url)

data = raw_input(page.read())
data2 = raw_input(page.read())
if data == data2:
    print "yes"
谢谢回答的人。问候

import urllib2
import copy

page =urllib2.urlopen(url)

data1 = str(page.read())

data2 = copy.deepcopy(data1)

if data1 == data2: 
    print "yes"