python编写程序,实现磁盘垃圾文件清理功能。要求程序运行时,通过命令行参数指定要清理的文件夹,然后删除该文件夹及其子文件夹中所有扩展名为tmp、log、obj、txt 以及大小为0的文件。
时间: 2024-05-02 07:17:45 浏览: 41
好的,这是一个关于Python编写程序实现磁盘垃圾文件清理功能的问题。可以使用Python的os 和shutil库来实现。以下是示例代码:
```
import os
import shutil
import sys
def clean_folder(folder_path):
extensions = [".tmp", ".log", ".obj", ".txt"]
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 extensions or os.path.getsize(file_path) == 0:
os.remove(file_path)
for folder in dirs:
folder_path = os.path.join(root, folder)
clean_folder(folder_path)
if __name__ == '__main__':
if len(sys.argv) != 2:
print("Usage: python clean_garbage.py [folder path]")
sys.exit()
folder_path = sys.argv[1]
if not os.path.isdir(folder_path):
print("%s is not a directory" % folder_path)
sys.exit()
clean_folder(folder_path)
```
以上代码可以通过命令行参数指定要清理的文件夹,然后递归地删除该文件夹及其子文件夹中所有扩展名为tmp、log、obj、txt 以及大小为0的文件。请注意,尽管我们可以通过代码自动清理磁盘上的垃圾文件,但是我们也应该谨慎操作,确保不会删除有用的文件。