2018-12-10 23:15:37
作业:
1、写一个函数,传入一个路径和一个关键字(关键字是文件内容),找到文件内容里面有这个关键字的文件2、写一个清理日志的程序,把三天前的日志删掉, 保留今天的、昨天和前天的。3、写一个注册的功能,要求数据存在数据库里面 1)、名字为空、已经存在都要校验 2)、校验通过之后,密码要存成密文的。4、登陆的功能 登录的账号密码从数据库里面取, 如果输入用户不存在要提示代码1:
1 #_author:'ZYB' 2 #data:2018/12/9 3 import os 4 def find_file(keywords,path='D:\HomeWork\HomeWork\day6'): 5 file_list = get_all_file(path) 6 for file in file_list: 7 if file.endswith('.py') or file.endswith('.txt'): 8 with open(file,'r',encoding='utf-8') as fr: 9 if keywords in fr.read():10 print(file)11 print('=='*20)12 def get_all_file(path):13 file_list = []14 for cur_path, cur_dirs, cur_files in os.walk(path):15 for name in cur_files:16 file_list.append(os.path.join(cur_path,name))17 return file_list18 keywords = input("Please input the key words that you want to search:")19 path = input("Please input the filepath:")20 find_file(keywords,path)
代码2:
1 #_author:'ZYB' 2 #data:2018/12/9 3 import os 4 import time 5 def Clear_logs(N): 6 file_list = get_all_file() 7 for file in file_list: 8 if file.endswith('.log'): 9 f = os.path.split(file)[1]10 t = f[-14:-4]11 if time.time()-StrToTimestamp(t) >= 24*60*60*int(N):12 os.remove(file)13 def get_all_file(path='D:\HomeWork\HomeWork\day6\logs'):14 file_list = []15 for cur_path, cur_dirs, cur_files in os.walk(path):16 for name in cur_files:17 file_list.append(os.path.join(cur_path,name))18 return file_list19 def StrToTimestamp(Str=None,format='%Y-%m-%d'):20 #格式化好的时间转时间戳:21 if Str:22 timep = time.strptime(Str, format)23 res = time.mktime(timep)24 else:25 res = time.time()26 return int(res)27 N = input('请输入需要清除几天前的日志:')28 Clear_logs(N) #清除N天前的日志
代码3:
1 #_author:'ZYB' 2 #data:2018/12/10 3 import pymysql 4 import hashlib 5 def CheckUserInSql(user): 6 conn = pymysql.connect(host='118.24.3.40',user='jxz', 7 password='123456',port=3306,db='jxz',charset='utf8') 8 cur = conn.cursor(pymysql.cursors.DictCursor) #加了这个参数,返回值是字典形式的元组 9 sql = 'select * from app_myuser where username="%s";' %user # 查看数据库是否以及存在user用户10 cur.execute(sql) #只是执行sql,并不会返回数据11 res = cur.fetchall()12 cur.close() # 关闭游标13 conn.close() # 关闭连接数据库14 if len(res) == 0:15 return True16 else:17 return False18 19 def isNotNone(user):20 if str(user).strip()=='':21 return False22 else:23 return True24 def StoreInSQL(user,pwd,admin):25 conn = pymysql.connect(host='118.24.3.40', user='jxz',26 password='123456', port=3306, db='jxz', charset='utf8')27 cur = conn.cursor(pymysql.cursors.DictCursor) # 加了这个参数,返回值是字典形式的元组28 sql = 'insert into app_myuser (username,passwd,is_admin) values ("%s","%s",%d);'%(user,pwd,admin)29 cur.execute(sql)30 conn.commit()31 cur.close()32 conn.close()33 def my_md5(s):34 news = str(s).encode()35 m = hashlib.md5(news)36 return m.hexdigest()37 38 user = input('请输入注册的用户名:')39 pwd = input('请输入注册密码:')40 is_admin = int(input('请输入注册账号的权限(0非管理员/1管理员):'))41 if isNotNone(user):42 if CheckUserInSql(user):43 pwdmd5 = my_md5(pwd)44 StoreInSQL(user,pwdmd5,is_admin)45 else:46 print('输入的账号已经存在!')47 else:48 print('输入的账号不能为空!')
代码4:
1 #_author:'ZYB' 2 #data:2018/12/10 3 import pymysql 4 import hashlib 5 def CheckUserInSql(user): 6 conn = pymysql.connect(host='118.24.3.40',user='jxz', 7 password='123456',port=3306,db='jxz',charset='utf8') 8 cur = conn.cursor(pymysql.cursors.DictCursor) #加了这个参数,返回值是字典形式的元组 9 sql = 'select * from app_myuser where username="%s";' %user # 查看数据库是否以及存在user用户10 cur.execute(sql) #只是执行sql,并不会返回数据11 res = cur.fetchall()12 cur.close() # 关闭游标13 conn.close() # 关闭连接数据库14 if len(res) == 0:15 return True, res16 else:17 return False, res18 def my_md5(s):19 news = str(s).encode()20 m = hashlib.md5(news)21 return m.hexdigest()22 23 user = input('请输入登录账号:')24 pwd = input('请输入登录密码:')25 pwdmd5 = my_md5(pwd)26 Condition, res = CheckUserInSql(user)27 if not Condition:28 if res[0]['passwd'] == pwdmd5:29 print('恭喜%s登录成功!'%user)30 else:31 print('密码错误!')32 else:33 print('账号不存在!')