-
个人简介
重型维修小组</p>
import time import msvcrt import threading import random import logging as log import base64 as b64 try: import log__init__ log__init__.__init__() log.debug('log__init__ online') except ModuleNotFoundError: log.warning('log__init__ offline',exc_info=False) def PNG_B64(target="target.png",output="op.txt"): ''' png文件转Base64,主体代码参考stu231311(感谢开源) 指定target,output来控制输入图片路径与输出 默认输入:target.png 默认输出:op.txt''' try: with open(target, "rb") as f: img_data = f.read() b64_bytes = b64.b64encode(img_data) b64_str = b64_bytes.decode('utf-8') with open(output,"w") as f: f.write("data:image/png;base64,"+b64_str) print(f"转换完成! 输出文件:{output}") except FileNotFoundError as err: log.error(f"未找到目标文件! {target}",exc_info=0) def tprint(target:str='',sep:int|float=0.1) -> int|float|str: ''' 按时间逐字打印,输入包括string(str),sec(int,float) ''' for i in target: print(i,end='',flush=True) time.sleep(sep) print() def wait_for_kb(sep:int|float=0.25) -> int|float: ''' press any key to continue(no return) don't use thorny to run this code ''' que=['-','\\','|','/'] j=0 while not msvcrt.kbhit(): j=(j+1)%4 time.sleep(sep) print('\r'+que[j],end='',flush=True) print('\r'+'') def docseeker(): ''' 用于输出当前自定义函数的所有注释(no return) ''' a=globals() for name in a: if callable(a[name]) and a[name].__module__==__name__: print('='*20+str(name)+'='*20) print(a[name].__doc__) def sonar(direction:str='N') -> list|str: mid=2 while not msvcrt.kbhit(): data=[[' ' for i in range(10)]for j in range(5)] wave=noise() for i in range(len(wave)): data[mid+wave[i]][i]='_' for i in data: print(*i,end='\n') print() time.sleep(1) def noise(strength:float=0.7) -> float: wave=[random.randint(-2,2) for i in range(10)] for i in range(len(wave)): if random.random()<strength: wave[i]=0 return wave sonar()import time import logging as log '''MODULE logging's basic setting''' def __init__(): global logger,file_handler,console_handler,formatter lt=time.localtime() #create log recorder logger=log.getLogger() logger.setLevel(log.DEBUG) #create file handler file_handler=log.FileHandler(f"LogOutput{lt.tm_year}_{lt.tm_mon}_{lt.tm_mday}_{lt.tm_hour}.log") file_handler.setLevel(log.DEBUG) #create console handler console_handler=log.StreamHandler() console_handler.setLevel(log.DEBUG) #format formatter=log.Formatter('%(asctime)s - %(name)s - %(funcName)s - %(levelname)s - %(message)s') file_handler.setFormatter(formatter) console_handler.setFormatter(formatter) #add handlers to log recorder logger.addHandler(file_handler) logger.addHandler(console_handler) if __name__ == '__main__': __init__() -
最近活动
This person is lazy and didn't join any contests or homework.