import copy #支持对列表字典等类型支持深度COPY的库
#定义用字典储存各种文件二进制数据到内存中以方便快速使用的类class gc_MemFiles
class gc_MemFiles():
#构造初始化函数:指定的文件生成内存文件,参数1:初始化的内存文件要传入的文件或文件列表(一个或多个文件)
def __init__(self,fileNames,defFile):
self.dicMemFiles={} #将指定列表中的全部文件读入内存,并保存在此字典中,通过KEY来访问,默认为KEY=0时,留用给没有从字典中得到文件数据时的默认值
self.lstMemFileName=[] #对应字典读入的内存文件(文件应为绝对路径或模块可识别的路径不含路径的文件名),第0索引文件为默认文件留用,本变量仅用于调试用
self.fileCount=0 #当前字典中文件的数量(含KEY=0的默认文件数量)
self.MakeMemFile(fileNames,defFile,True) #初始化时,第三个参数应为True
#根据传入的文件名初始化内存文件(bNew=True时表示先清空原有的再重新创建,bNew=False时表是增加):本函数不允许传入的文件不能正确导入到内存文件中,因每个KEY对应其他代码的调用,如果KEY不一一对应,程序运行结果将不可预见
#不论传入的文件不论是否创建成功,均会为内存字典分配一个KEY,只是对应的KEY的文件读入内存的二进制数据为None
def MakeMemFile(self,fileNames,defFile='',bNew=False):
if bNew: #如果新建内存文件,会用defFile文件作为KEY=0
PyThon用字典变量来提前加载各种文件到内存中去,避免程序频繁的访问外部文件,降低程序效率和可能出现不可预知的文件I/O错误
于 2024-08-27 21:37:48 首次发布