1、使用子目录优化
将文件分组存储在子目录中,以避免在同一目录中拥有大量文件。例如,按照日期、类别或其他逻辑创建子目录。
例如,
import time import os #获得当前系统时间的字符串 localtime=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) #系统当前时间年份 year=time.strftime('%Y',time.localtime(time.time())) #月份 month=time.strftime('%m',time.localtime(time.time())) #日期 day=time.strftime('%d',time.localtime(time.time())) #具体时间 小时分钟毫秒 mdhms=time.strftime('%m%d%H%M%S',time.localtime(time.time())) parentDir = os.getcwd()+'/images'; if not os.path.exists(parentDir): os.mkdir(parentDir) fileYear=parentDir+'/'+year fileMonth=fileYear+'/'+month fileDay=fileMonth+'/'+day if not os.path.exists(fileYear): os.mkdir(fileYear) os.mkdir(fileMonth) os.mkdir(fileDay) else: if not os.path.exists(fileMonth): os.mkdir(fileMonth) os.mkdir(fileDay) else: if not os.path.exists(fileDay): os.mkdir(fileDay) print(fileDay) filePath = fileDay + "/"+"fileName.txt" print(filePath) with open(filePath,"w") as f: f.write("url = https://www.cjavapy.com") print("文件内容:" + os.popen("cat "+filePath).read())
2、定期清理文件
定期清理不再需要的文件,达到优化的目的。代码如下,
import os import datetime def clean_directory(directory, days_to_keep): # 获取当前日期 current_date = datetime.datetime.now() try: # 遍历指定目录中的所有文件和子目录 for root, dirs, files in os.walk(directory): for file in files: # 获取文件的完整路径 file_path = os.path.join(root, file) # 获取文件的修改时间 file_mtime = datetime.datetime.fromtimestamp(os.path.getmtime(file_path)) # 计算文件的存储天数 days_difference = (current_date - file_mtime).days # 如果文件存储的天数超过指定的天数限制,就删除该文件 if days_difference > days_to_keep: os.remove(file_path) print(f"Deleted file: {file_path}") except Exception as e: print(f"An error occurred: {str(e)}") # 指定要清理的目录和保留的天数限制 directory_to_clean = "/path/to/your/directory" days_to_keep = 15 # 调用清理函数 clean_directory(directory_to_clean, days_to_keep)