# create class DataPathOperateclassDataPathOperate:def__init__(self, path):
self.path = path
"""
建立目录
"""defcreate_dir(self):# try verify dir is exist or nottry:
os.mkdir(self.path)# if dir is exist then except errorexcept FileExistsError:pass"""
判断是否是文件
"""defjudge_is_file(self):return os.path.isfile(self.path)"""
删除目录
"""defremove_dir(self):# try verify dir is exist or nottry:
os.removedirs(self.path)# if file not found, then except errorexcept FileNotFoundError:pass# if There are files under the dir, then use the shutil.rmtree functionexcept OSError:
shutil.rmtree(self.path)"""
删除文件
"""defremove_file(self):try:
os.remove(self.path)except Exception as e:
LogDataOperate(message_type='error').error(message=e)"""
"""defread_data(self, file_type, parse_type):# get data_list
data_list =[]# if parse type is pandasif parse_type =='pandas':# if file_type is equal to csv:if file_type =='csv':
data_list = np.array(pd.read_csv(self.path, encoding='utf-8-sig')).tolist()# if file_type is equal to excelelif file_type =='xlsx':
data_list = np.array(pd.read_excel(io=self.path)).tolist()# if parse type is with openelif parse_type =='with open':if file_type in['xlsx','csv','txt']:withopen(self.path,'r')as f:# get data_list
data_list = f.readlines()return data_list
"""
保存excel数据为xlsx或csv
"""defsave_data(self, save_type, save_data, columns):if save_type in['csv','xlsx']:
df = pd.DataFrame(save_data)
df.columns = columns
if save_type =='xlsx':
df.to_excel(self.path, index=False, encoding='utf-8-sig')elif save_type =='csv':
df.to_csv(self.path, index=False, encoding='utf-8-sig')"""
复制拷贝数据
"""defcopy_and_paste_file(self, aim_path):
shutil.copyfile(self.path, aim_path)"""
把相对路径转换为绝对路径
"""defchange_relative_path_to_abs_path(self):
self.path = os.path.abspath(self.path)return self.path
"""
把文件写进压缩包里面,并生成压缩包
"""defwrite_zipfile(self, zipfile_name, write_file_list):
abs_path = os.path.abspath(self.path)try:with ZipFile('{}/{}.zip'.format(abs_path, zipfile_name), mode="w")as f:for write_file in write_file_list:
new_file_base_path ={'Windows': abs_path,'Linux':''}# get new_file
new_file ='{}/{}'.format(new_file_base_path[RUN_SYSTEM], write_file[write_file.rfind('/')+1:])
shutil.copyfile(write_file, new_file)
f.write(new_file)try:
os.remove(new_file)except Exception as e:passexcept Exception as e:passfinally:
f.close()