12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- import os
- class Database:
- def __init__(self,name):
- self.dir = rf'{os.getcwd()}/Database_dir/{name}.cotanDB'#创建保存文件
- self.file = open(self.dir,'r+' if os.path.exists(self.dir) else 'w+')
- self.id = 0
- self.name = name
- for _ in self.file.readlines():
- self.id += 1
- def __str__(self):
- return self.name
- def close(self):
- try:
- self.file.close()
- except:
- pass
- def add_new(self,data):
- data_str = str(self.id)
- for i in data:
- data_str += ',' + str(i)
- data_str += '\n'
- self.file.write(data_str)
- self.file.flush()
- self.id += 1
- def remove(self):
- self.file.close()
- os.remove(self.dir)
- def out_file(self,out_dir):
- with open(out_dir + fr'/{self.name}.contanDB','w') as f:
- with open(self.dir) as g:
- f.write(g.read())
- class DataBase_Home:# data base控制器
- def __init__(self):
- self.database = {}
- def add_DataBase(self,name):# 添加数据表
- self.database[name] = Database(name)
- def add_new(self,name,data):# 添加新内容
- database = self.database.get(name)
- if database == None:
- self.add_DataBase(name)
- database = self.database.get(name)
- database.add_new(data)
- def close(self,name):# 关闭数据表
- try:
- self.database[name].close()
- del self.database[name]
- except:
- pass
- def close_all(self):# 关闭所有数据表
- for i in self.database:
- self.database[i].close()
- self.database = {}
- def rm_dataBase(self,name):# 删除数据表
- self.database[name].remove()
- del self.database[name]
- def out(self,name,dir):# 输出数据表
- self.database[name].out_file(dir)
- def return_database(self):
- return list(self.database.keys())
|