# ---------------------------------------------------------------------------------------- import time timestamp = time.time() #时间戳 struct_time = time.localtime() #结构化时间 format_time = time.strftime("%Y-%m-%d %X") #格式化时间 # print(time.localtime(timestamp)) # 时间戳 ====== > 结构化时间 # print(time.mktime(struct_time)) # 结构化时间 ======> 时间戳 # print(time.strftime("%Y-%m-%d %X"),struct_time) #格式化时间 ===== > 结构化时间 # print(time.strptime("2018-02-13 09:25:45","%Y-%m-%d %X")) #结构化时间 === > 格式化时间 # print(time.asctime()) #Tue Feb 13 09:28:49 2018 # print(time.ctime(timestamp)) #Tue Feb 13 09:29:29 2018 # time.sleep(10) #睡多少秒 # ---------------------------------------------------------------------------------------- import random # print(random.random()) #0-1的随机小数 # print(random.randint(1,4)) # 产生大于等于1,小于等于4的整数 # print(random.randrange(1,4)) # 产生大于等于1,小于4的整数 # print(random.choice([1,"23",[4,5]])) #随机产生列表中的一项 # print(random.sample([1,"23",[4,5],2],2)) #第一个参数是列表,第二个参数是随便产生的列表项 # print(random.uniform(1,3)) #产生1-3之间的随机小数 # item = [1,2,3,4,5,6] # random.shuffle(item) #打乱原列表的顺序,没有返回值 # print(item) # 生成随机验证码 # def make_code(n): # res = "" # for i in range(n): # s1 = chr(random.randint(65,90)) # s2 = str(random.randint(0,9)) # res+=random.choice([s1,s2]) # return res # print(make_code(9)) # ---------------------------------------------------------------------------------------- import os # print(os.getcwd()) #获取当前工作目录 # print(os.chdir("dirname")) #相当于cd切换命令 # os.remove("dirname") #删除dirname目录 # os.rename("oldname","newname") #重命名 # print(os.environ) #获取当前的环境变量 # os.path.join("dirname") #路径拼接 # ---------------------------------------------------------------------------------------- import sys # print(sys.argv) #当前程序的路径 # print(sys.exit(0)) #退出程序 # print(sys.version) #获取python的版、本信息 # print(sys.maxsize) #获取最大int值 # print(sys.path) #返回模块的搜索路径 # print(sys.platform) #返回操作系统的名称 # 实现打印进度条 # def progress(percent,width=50): # if percent >= 1: # percent = 1 # show_str = ('[%%-%ds]'%width)%(int(width*percent)*"#") # print(' %s %d%%'%(show_str,int(100*percent)),file=sys.stdout,flush=True,end="") # data_size = 1025 # recv_size = 0 # while recv_size < data_size: # time.sleep(0.1) # recv_size += 1024 # percent = recv_size/data_size # progress(percent,width=70) # ---------------------------------------------------------------------------------------- import shutil # shutil.copyfile("file1","file2") #将文件内容拷贝到另一个文中 # shutil.copymode("file1.log","file2.log") #仅仅拷贝权限 file2.log 必须存在 # shutil.copystat("file1","file2") #拷贝状态信息,file2必须存在 # shutil.copy("file1.log","file2.log") #拷贝文件和权限 # shutil.copy2("file1.log","file2.log") #拷贝文件和状态信息 # shutil.copytree() #递归拷贝 # shutil.rmtree("filepath") #递归删除文件 # shutil.move("file1","file2") #递归的去移动文件 # ---------------------------------------------------------------------------------------- import json # x = "[1,2,3,4,5,6,7,8]" # print(x,type(x)) #[1,2,3,4,5,6,7,8] <class 'str'> # print(eval(x),type(eval(x))) #[1, 2, 3, 4, 5, 6, 7, 8] <class 'list'> # print(json.loads(x),type(json.loads(x))) #[1, 2, 3, 4, 5, 6, 7, 8] <class 'list'> # json数据主要用于跨平台数据交互 # dic = {'name':'alvin','age':23,'sex':'male'} # print(type(dic)) #<class 'dict'> # j = json.dumps(dic) # print(type(j)) # <class 'str'> # f = open("序列化对象","w") # f.write(j) # f.close() # #反序列化操作 # f = open("序列化对象","r") # data = json.loads(f.read()) # json不认单引号,json可以跨平台交互,pickle只可以在python中数据交互 # import pickle # dic = {'name':'alvin','age':23,'sex':'male'} # j = pickle.dumps(dic) # print(type(j)) #<class 'bytes'> # ---------------------------------------------------------------------------------------- import shelve # shelve模块比pickle模块更加的简单,只有一个open函数,返回类字典对象,可读可写,key必须为字符串,值可以是python所支持的数据类型 # f=shelve.open(r'sheve.txt') # # f['stu1_info']={'name':'egon','age':18,'hobby':['piao','smoking','drinking']} # # f['stu2_info']={'name':'gangdan','age':53} # # f['school_info']={'website':'http://www.pypy.org','city':'beijing'} # # print(f['stu1_info']['hobby']) # f.close() # ---------------------------------------------------------------------------------------- import xml #这个模块以及过时,已经被lxml取代 # ---------------------------------------------------------------------------------------- import configparser # ---------------------------------------------------------------------------------------- import hashlib m = hashlib.md5() m.update("hello_zhang".encode("utf8")) print(m.hexdigest()) #ed5e024cfdceba3e24b4333709d2dc1a #模拟撞库破解密码 passwds=[ 'alex3714', 'alex1313', 'alex94139413', 'alex123456', '123456alex', 'a123lex', ] def make_passwd_dic(passwds): dic={} for passwd in passwds: m=hashlib.md5() m.update(passwd.encode('utf-8')) dic[passwd]=m.hexdigest() return dic def break_code(cryptograph,passwd_dic): for k,v in passwd_dic.items(): if v == cryptograph: print('密码是===>