1. Time
2. os
3. sys
4. JSON字典的序列化与反序列化
5. 文件的序列化与反序列化
6. md5加密
------------------------------------------------------------ Time
# import time as t # # # print(dir(t)) # 有什么方法 # # # 获取时间戳 # print(int(t.time())) # # # 获取当前时间 # print(t.localtime(t.time())) # print(t.strftime('%y-%m-%d %H:%M:%S',t.localtime())) # # t.sleep(1)
------------------------------------------------------------ os
import os #最常用是目录的处理 # print(os.system('ipconfig')) # 乱码改为GBK # 当前文件的目录 #print(dir(os)) # 创建目录mkdir # os.mkdir('I:/log') # 删除目录 # os.rmdir('I:/log') # 系统帮助命令 cmd:net helpmsg 183 # 给目录改名 # os.rename('I:/log','I:/nowlog') # 对目录的处理 # print (u'当前文件目录:',os.path.dirname(__file__)) # print (u'文件当前目录的上一级目录:',os.path.dirname(os.path.dirname(__file__))) #print (u'文件当前目录的上一级目录:',os.path.dirname(os.path.dirname(os.path.dirname(__file__)))) # 目录路径拼接 base_dir=os.path.dirname(os.path.dirname(__file__)) #print(os.path.join(base_dir,'demo2/test1')) # 读取文件 f=open(os.path.join(base_dir,'demo2/login'),'r') # 以读模式 print(f.read()) ''' 请求参数是不确定的,可能有一个,可能有N个 ''' def f(*args,**kwargs): return kwargs print(f(name='wuya',age='18')) print(f(name='wuya',age='18',address='xian'))
---------------------------------------------------------------------- sys
import sys import os # 把目录路径添加到sys.path,这样就可以找到另外目录下的所有模块了----------非常好用 #sys.path.append(r'C:\Users\Administrator\PycharmProjects\pythonProject3\demo') demo_path = os.path.join(os.path.dirname(os.path.dirname(__file__)),'demo') sys.path.append(demo_path) #from demo.timeTest import * # from timeTest import * # index() # 输出查找模块的范围路径 # for item in sys.path: # print(item)
----------------------------------------------------------- JSON字典的序列化与反序列化
一、概念理解 1、json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串) (1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串) (2)json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典) 2、json.dump()和json.load()主要用来读写json文件函数 字典的序列化与反序列化 import json ''' 序列化:把python的数据类型转为str的类型过程 反序列化:str的类型转为python的数据结构 ''' dict1={'name':'wuya','age':18} '''字典的序列化与反序列化''' # 序列化:dict--->str dict_str=json.dumps(dict1) print(u'序列化后的结果信息:',dict_str,type(dict_str)) # 反序列化 str_dict=json.loads(dict_str) print(u'反序列化后的结果信息:',str_dict,type(str_dict)) 列表的序列化与反序列化的过程 '''列表的序列化与反序列化的过程''' import json list1=['admin','wuya','weike'] # 序列化 list_str=json.dumps(list1) print(u'序列化后的结果信息') print(list_str,type(list_str)) # 反序列化 str_list = json.loads(list_str) print(u'反序列化后的结果信息') print(str_list,type(str_list)) 元组的序列化与反序列化的过程 import json '''元组的序列化与反序列化的过程''' tuple1=(1,2,3) # 序列化 tuple_str = json.dumps(tuple1) print(u'序列化后的结果信息:') print(tuple_str,type(tuple_str)) str_tuple = json.loads(tuple_str) # 反序列化 print(u'反序列化后的结果信息:') print(str_tuple,type(str_tuple))
-------------------------------------------------------------- 文件的序列化与反序列化
json.dump()用于将dict类型的数据转成str,并写入到json文件中。 json.load()用于从json文件中读取数据,类型为str。 import json import requests '''文件的序列化与反序列化''' url = 'https://way.jd.com/jisuapi/weather' params = { 'city' : '安顺', 'cityid' : '111', 'citycode' : '101260301', 'appkey' : '8c60eac7cface16fc71d865bbef56172' } r = requests.get(url,params) ''' 1.文件反序化后,类型是unicode 2.进行编码,把unicode类型转为str类型 3.然后使用反序列化,把str转为字典类型 ''' # json.dump()用于将dict类型的数据转成str,并写入到json文件中。 json.dump(r.content.decode('utf-8'),open('weather.json','w')) #print(dict1,type(dict1)) # json.load()用于从json文件中读取数据,类型为str。 str_dict = json.loads(json.load(open('weather.json','r'))) print(str_dict,type(str_dict))
------------------------------------------------------------------- md5加密
''' 对请求参数做ascil码的排序 做url encode 编码:name=wuya&age=18&city=xian&work=tester 做md5-->sign-->f6ab5ff84e2b2cb4202e1c0dde4f139c ''' # dict1=dict(sorted(dict1.items(),key=lambda item:item[0])) from urllib import parse import hashlib # datas=parse.urlencode(dict1) # # md5=hashlib.md5() # md5.update(datas.encode('utf-8')) # print(md5.hexdigest()) def getMd5(**kwargs): dict1 = dict(sorted(kwargs.items(), key=lambda item: item[0])) datas = parse.urlencode(dict1) md5 = hashlib.md5() md5.update(datas.encode('utf-8')) return md5.hexdigest() print(getMd5(name='wuya',gji='china'))