我使用dict_a['response'] = requests.get(given_url)
从某些网站获取数据,以给定的频率使用请求模块。返回的响应(requests.get(given_url)
)是json对象,它对应于稍后使用的字典。
requests.get(given_url)的响应是否使用相同的内存,还是每次在python中分配新的内存?如果以后是这样的话,那么dict_a的“响应”可能会在没有通知的情况下被更改。恐怕这种情况会发生,我每次都使用dict_a['response'] = copy.deepcopy(requests.get(given_url))
。这似乎是相当不必要的,所以我选择问这个问题,以确保它没有必要这样做。
发布于 2015-02-11 07:19:12
Requests.get是一种方法。排除涉及全局变量(请求不使用)的异常情况,方法级变量在每次调用方法时唯一绑定。方法返回后,返回的对象将绑定到您分配给它的任何名称。
所以如果你做这样的事
dict[a] = requests.get(url1)
dict[b] = requests.get(url2)
您不必担心dicta会神奇地改变以包含来自url2的响应。但当然
dict[a] = requests.get(url1)
dict[a] = requests.get(url2)
会导致格言的改变。
发布于 2015-02-11 07:14:19
字典不被重复使用:
>>> url = 'http://google.com'
>>> requests.get(url) is requests.get(url)
False
https://stackoverflow.com/questions/28457615
复制