#!/usr/bin/env python3# -*- coding: utf-8 -*-import asyncioimport hmacimport jsonimport osimport randomfrom io import BytesIO, StringIOfrom multiprocessing import processfrom pickletools import pickleimport AsyncClsfrom Student import Json2Student, Student, Student2Json# 应用程序主函数def main():print("This is my first Python App.")# T_StringIO()# Memeory_BytesIO()# Filter_DirFile()# OS_Dir_L("D:\360円Downloads\\Software")# Pickle_Binary()# Serialer_Json()# MulProcess_Fork()# Simulate_login()method = AsyncCls.AsyncModule()method.Async_key()## hmac#def hmac_Md5(key, s):return hmac.new(key.encode('utf-8'), s.encode('utf-8'), 'MD5').hexdigest()class User(object):def __init__(self, username, password):self.username = usernameself.key = ''.join([chr(random.randint(48, 122)) for i in range(20)])self.password = hmac_Md5(self.key, password)def Simulate_login():login('henu', '123445')login('miao', '123abc')login('henu', 'abc123')print('Ok')def GetUserByName(userName):db = {'henu': User('henu', 'abc123'),'miao': User('miao', '123abc'),'honey': User('honey', 'abc123'),'alice': User('alice', '123456'),}return db[userName]def login(username, password):user = GetUserByName(username)logResult = user.password == hmac_Md5(user.key, password)print('user:{0} ,Login Status: {1}'.format(username, logResult))## Fork 调用#def run_process(name):print("Run child process %s (%s)" % (name, os.getpid()))def MulProcess_Fork():print("Fork On Process(%s)" % os.getpid())p = process.BaseProcess(target=run_process, args=("Henu Miao"))print("Process run")p.start()print("Process join")p.join# 读取内存流def T_StringIO():f = StringIO("Hello,With Miaomiao\r\nSecond Line")while True:s = f.readline()if s == '':breakprint(s.strip())# 文件流读取操作def File_IO():filePath = "D:\\IO.log"with open(filePath, 'r') as f:s = f.read()print(s)with open(filePath, 'a') as f:f.write("Append to log with a line message")with open(filePath, 'r') as fr:s = fr.read()print(s)# 内存二进制操作def Memeory_BytesIO():f = BytesIO()f.write("如果这都不算爱".encode('utf-8'))print(f.getvalue())# os.listdirdef Filter_DirFile():items = [x for x in os.listdir('.') if(os.path.isfile(x))]print(items)# dir -l 模拟def OS_Dir_L(dirPath):if(type(dirPath) != str):raise RuntimeWarning("参数类型不正确!")if(os.path.exists(dirPath)):print("Directory List for %s ...", dirPath)for x in os.listdir(dirPath):if(os.path.isdir(x)):print("Path {0},Type {1}".format(x, 'Directory'))elif (os.path.isfile(x)):print("Path {0},Type {1}".format(x, 'File'))else:print("Path {0},Type NONE".format(x))print("Directory List End")else:raise RuntimeWarning("指定的路径不存在!")# 序列化def Pickle_Binary():stuInfo = Student("Miao", 28, 87)print(stuInfo)with open('D:\\student.log', 'wb') as fw:pickle.dump(stuInfo, fw)fw.close()with open('D:\\student.log', 'r') as fr:d = pickle.load(fr)fr.close()print(d)'''JSon序列化'''def Serialer_Json():strfPath = "D:\\student.log"stu = Student("MiaoMiao", 25, 88)fw = open(strfPath, 'wt')json.dump(stu, fw, default=Student2Json, skipkeys=False, sort_keys=True)fw.close()fw = open(strfPath, 'r')# 反序列化stuf = json.load(fw, object_hook=Json2Student)fw.close()if(isinstance(stuf, Student)):print(stuf.ToString())else:print(stuf)# 应用程序起始if __name__ == '__main__':main()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。