privilege.py
来自「python的典型方法,对初学的python的人有一定的借鉴作用。」· Python 代码 · 共 87 行
PY
87 行
import pickle
from time import time
class User(object):
def __init__(self, name, pwd):
self.name = name
self.pwd = pwd
self.lastLogin = time()
def login(user, pwd):
f = open('userdef.p', 'r')
try:
l = pickle.load(f)
f.close()
if l == None:
return False
i = 0
while i<len(l):
if l[i] == user and l[i+1] == pwd:
break
i += 2
if i == len(l):
return False
return True
except Exception, e:
raise AttributeError, "Error while loading userdefinition!"
def add(user, pwd):
f = open('userdef.p', 'r')
u = User(user, pwd)
l = []
try:
l = list(pickle.load(f))
except EOFError , e:
pass
f.close()
f = open('userdef.p', 'w')
if user in l:
f.close()
return False
l.append(user)
l.append(pwd)
pickle.dump(tuple(l), f)
f.close()
return True
def dicAdd(user, pwd):
f = open('dictdef.txt')
dic = {}
try:
dic = pickle.load(f)
except EOFError, e:
pass
f.close()
if user in dic:
return False
dic[user] = User(user, pwd)
f = open('dictdef.txt', 'w')
pickle.dump(dic, f)
f.close()
return True
def dicLogin(user, pwd):
f = open('dictdef.txt')
dic = {}
try:
dic = pickle.load(f)
f.close()
except EOFError, e:
return False
if user not in dic or dic[user].pwd != pwd:
return False
print "Your last login time is: %s." %( dic[user].lastLogin )
dic[user].lastLogin = time()
f = open('dictdef.txt', 'w')
pickle.dump(dic, f)
f.close()
return True
print dicAdd('twf', 'dldk')
print dicAdd('liu', '939')
print dicAdd('ye', 'ipp')
print dicLogin('twf', 'dldk')
print dicLogin('ii', 'dldk')
print dicLogin('ye', 'ipp')
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?