for i in xrange(1,NUM_USERS+1):
print i
private = RSA.generate(3072,Random.new().read)
public = private.publickey()
new_user = User(public_rsa=public.exportKey(), secret_rsa=private.exportKey())
new_user.save()
在上面的循环中,我给出了NUM_USERS=100
的值但是循环迭代到200而不是100.可能的原因是什么?
修改 我很抱歉,我不小心弄清楚整个python方法被调用了两次,我不知道为什么,所以我会详细描述。我正在编写一个基于django的服务器端,其方法如下:
def index(request):
return HttpResponse("CREST Top Dir: " + PROJECT_ROOT)
def server_setup(request):
try:
process = subprocess.check_output(BACKEND+"mainbgw setup " + str(NUM_USERS), shell=True,\
stderr=subprocess.STDOUT)
for i in xrange(1,NUM_USERS+1):
print i
现在发生的事情是,当我调用server_setup
视图时,它有时会执行多次。同样,如果我调用index
视图,有时也同时调用server_setup
。所以问题不在于xrange
,而在于方法调用。这个问题可能是什么原因?
答案 0 :(得分:1)
检查NUM_USERS
是否为100。
for i in xrange(1,NUM_USERS+1):
print 'NUM_USERS:', NUM_USERS # check it
print i
private = RSA.generate(3072,Random.new().read)
public = private.publickey()
new_user = User(public_rsa=public.exportKey(), secret_rsa=private.exportKey())
new_user.save()