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)