自动删除空文件以及空文件夹
背景
最近在整理nas上的文件,发现有很多的空目录没有删除。为了删除这些空文件和空文件夹,所以用python写了一个脚本来执行这些操作。
代码
#!/bin/python
# -*- coding: utf-8 -*-
import time
import sys
import os
root_dir="/volume2/d/pt"
def deldir(path):
"""
清理空文件夹和空文件
param path: 文件路径,检查此文件路径下的子文件
"""
try:
files = os.listdir(path) # 获取路径下的子文件(夹)列表
for file in files:
if os.path.isdir(os.path.join(path,file)): # 如果是文件夹
if not os.listdir(os.path.join(path,file)): # 如果子文件为空
print ('{0} is empty directory, it will be deleted'.format(file))
os.rmdir(os.path.join(path,file)) # 删除这个空文件夹
else:
deldir(os.path.join(path,file)) # 遍历子文件
if not os.listdir(os.path.join(path,file)): # 如果子文件为空
print ('{0} is empty directory, it will be deleted'.format(file))
os.rmdir(os.path.join(path,file)) # 删除这个空文件夹
elif os.path.isfile(os.path.join(path,file)): # 如果是文件
if os.path.getsize(os.path.join(path,file)) == 0: # 文件大小为0
print ('{0} is empty file, it will be deleted'.format(file))
os.remove(os.path.join(path,file)) # 删除这个文件
return
except FileNotFoundError:
print ("file:{0} not found".format(path))
deldir(root_dir)
结语
通过脚本能够更快的解决重复的手工劳动,真爱生命,避免手动。