一天,我在想,python能不能实现文件浏览器呢?
答案是可以。
于是,我参考其他优快云用户的文章,编写了以下代码:
class file_read:#定义文件处理类
def __init__(self) -> None:#定义构造函数
pass#空语句
def file_STR_read(self,filename:str,mode:str,users:str,filej:str)->str:'''定义读取字符串文件'''
if filej != None:#如果文件夹名称不是空的
filej = filej + '\\'#那么就在后面添加路径符号
filename = '.\\Users' + users + '\\file\\' + filej + filename'''形成完整的相对路径'''
if mode == "r":#如果模式是只读
with open(filename,'r',encoding='utf-8') as f:#那么打开指定文件路径filename
return f.read()#读取文件
elif mode == 'r+':#否则如果模式是读写
with open(filename,'r+',encoding='utf-8') as f:#那么打开指定文件filename
return f.read()#读取文件
else:#否则
filename = '.\\Users' + users + '\\file\\' + filename#形成完整的相对路径
if mode == "r":
with open(filename,'r',encoding='utf-8') as f:
return f.read()
elif mode == 'r+':
with open(filename,'r+',encoding='utf-8') as f:
return f.read()
def save_STR_file(self,filename:str,filenew:str,mode:str,users:str,filej:str=None)->bool:#定义保存文件
if filej != None:
if mode == 'r+':#如果模式是读写
filename = '.\\Users' + users + '\\file' + filename#形成相对路径
with open(filename,'r+',encoding='utf-8') as f:#打开文件
f.write(filenew)#写入文件
return True#已经保存完
else:#否则
return False#保存失败
def del_file(self,filename:str,users:str,filej:str=None)->bool:#定义删除函数
if filej == None:#如果有文件夹
from os import remove#执行文件夹删除流程
filename = '.\\Users' + users + '\\file\\' + filej + filename
remove(filename)
return True
else:#否则
filename = '.\\Users' + users + '\\file\\' + filename#执行文件删除流程
from os import rmdir,remove,mkdir
mkdir(filename)
rmdir(filename)
return True