PS:我有一個類似的問題,請求HTTP庫here。關於使用urllib2模塊的python的內存消耗
我在Windows 7操作系統上使用python v2.7。我正在使用urllib2模塊。我有兩個代碼片段。一個文件命名爲myServer.py
server
類有兩種方法,分別命名爲getName(self,code)
和getValue(self)
。 另一個名爲testServer.py
的腳本僅調用server
類中的方法來檢索值並打印它們。 server
類基本上從本地網絡中的服務器檢索值。所以,不幸的是我無法爲您提供測試代碼的權限。
問題:當我執行我的testServer.py
文件,我在任務管理器觀察到的內存消耗不斷增加。它爲什麼會增加以及如何避免它?如果我在testServer.py
註釋掉以下行
print serverObj.getName(1234)
那麼有沒有增加內存消耗。
我確定問題出在server
類的getName(self,code)
。但不幸的是,我無法弄清楚問題所在。
代碼:請找到下面的代碼片段:
#This is the myServer.py file
import urllib2
import json
import random
class server():
def __init__(self):
url1 = 'https://10.0.0.1/'
username = 'user'
password = 'passw0rd'
passwrdmgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
passwrdmgr.add_password(None, url1, username, password)
authhandler = urllib2.HTTPBasicAuthHandler(passwrdmgr)
opener = urllib2.build_opener(authhandler)
urllib2.install_opener(opener)
def getName(self, code):
code = str(code)
url = 'https://10.0.0.1/' + code
response = urllib2.urlopen(url)
data = response.read()
name = str(data).strip()
return name
def getValue(self):
value = random.randrange(0,11)
return value
以下爲testServer.py
片斷
from myServer import server
import time
serverObj = server()
while True:
time.sleep(1)
print serverObj.getName(1234)
print serverObj.getValue()
謝謝您的時間!