Python编写程序,实现磁盘垃圾文件清理功能。要求程序运行时,通过命令行参数指定要清理的文件夹,然后删除该文件夹及其子文件夹中所有扩展名为tmp、log、obj、txt 以及大小为0 的文件。
时间: 2024-05-12 07:13:48 浏览: 79
以下是一个简单的Python程序,可以实现磁盘垃圾文件清理功能。你可以将代码保存为 `clean.py` 文件,并在命令行中使用 `python clean.py <path>` 命令运行,其中 `<path>` 是要清理的文件夹路径。
```python
import os
import sys
def clean_folder(folder_path):
for root, dirs, files in os.walk(folder_path):
for file in files:
file_path = os.path.join(root, file)
if os.path.splitext(file_path)[-1] in ('.tmp', '.log', '.obj', '.txt') or os.path.getsize(file_path) == 0:
os.remove(file_path)
print(f"Removed {file_path}")
for dir in dirs:
dir_path = os.path.join(root, dir)
if os.path.islink(dir_path):
os.unlink(dir_path)
print(f"Removed {dir_path}")
elif not os.listdir(dir_path):
os.rmdir(dir_path)
print(f"Removed {dir_path}")
if __name__ == '__main__':
if len(sys.argv) < 2:
print("Usage: python clean.py <path>")
sys.exit(1)
folder_path = sys.argv[1]
if not os.path.isdir(folder_path):
print(f"{folder_path} is not a directory!")
sys.exit(1)
clean_folder(folder_path)
```
这个程序使用 `os.walk()` 函数遍历指定的文件夹及其子文件夹,查找符合要求的文件并删除。如果遇到空文件夹或符号链接,则也会被删除。程序在删除每个文件或文件夹时,都会输出一条提示信息。
阅读全文