基本上,作为一个懒惰的程序员,我的桌面上满是文件(垃圾文件)。由于文件数量巨大,因此坐下来整理每个文件是一项艰巨的任务。为了简化这项任务,下面的Python脚本非常方便,所有文件都在几秒钟内以良好的方式组织起来。
null
运行脚本前的屏幕截图
以下是需要遵循的步骤:
- 创建字典: 下面的代码将创建已定义的目录。
DIRECTORIES = { "HTML": [".html5", ".html", ".htm", ".xhtml"], "IMAGES": [".jpeg", ".jpg", ".tiff", ".gif", ".bmp", ".png", ".bpg", "svg", ".heif", ".psd"], "VIDEOS": [".avi", ".flv", ".wmv", ".mov", ".mp4", ".webm", ".vob", ".mng", ".qt", ".mpg", ".mpeg", ".3gp"], "DOCUMENTS": [".oxps", ".epub", ".pages", ".docx", ".doc", ".fdf", ".ods", ".odt", ".pwi", ".xsn", ".xps", ".dotx", ".docm", ".dox", ".rvg", ".rtf", ".rtfd", ".wpd", ".xls", ".xlsx", ".ppt", "pptx"], "ARCHIVES": [".a", ".ar", ".cpio", ".iso", ".tar", ".gz", ".rz", ".7z", ".dmg", ".rar", ".xar", ".zip"], "AUDIO": [".aac", ".aa", ".aac", ".dvf", ".m4a", ".m4b", ".m4p", ".mp3", ".msv", "ogg", "oga", ".raw", ".vox", ".wav", ".wma"], "PLAINTEXT": [".txt", ".in", ".out"], "PDF": [".pdf"], "PYTHON": [".py"], "XML": [".xml"], "EXE": [".exe"], "SHELL": [".sh"]}
- 映射: 现在我们将把文件格式映射到目录。
FILE_FORMATS = {file_format: directory for directory, file_formats in DIRECTORIES.items() for file_format in file_formats}
- 在这里,我们将文件扩展名映射到目录。
def organize_junk(): for entry in os.scandir(): if entry.is_dir(): continue file_path = Path(entry) file_format = file_path.suffix.lower() if file_format in FILE_FORMATS: directory_path = Path(FILE_FORMATS[file_format]) directory_path.mkdir(exist_ok=True) file_path.rename(directory_path.joinpath(file_path)) for dir in os.scandir(): try: os.rmdir(dir) except: pass
- 上述函数将检查与我们定义的名称相同的现有目录。如果找到现有目录,则它将继续,否则将创建一个新目录。它将根据相应文件夹中的扩展名对所有文件进行分类。
- 组织: 以下是Python惰性垃圾文件管理器的代码。它将一次性组织适当文件夹中的所有内容,并删除空目录。
python
import os from pathlib import Path DIRECTORIES = { "HTML" : [ ".html5" , ".html" , ".htm" , ".xhtml" ], "IMAGES" : [ ".jpeg" , ".jpg" , ".tiff" , ".gif" , ".bmp" , ".png" , ".bpg" , "svg" , ".heif" , ".psd" ], "VIDEOS" : [ ".avi" , ".flv" , ".wmv" , ".mov" , ".mp4" , ".webm" , ".vob" , ".mng" , ".qt" , ".mpg" , ".mpeg" , ".3gp" ], "DOCUMENTS" : [ ".oxps" , ".epub" , ".pages" , ".docx" , ".doc" , ".fdf" , ".ods" , ".odt" , ".pwi" , ".xsn" , ".xps" , ".dotx" , ".docm" , ".dox" , ".rvg" , ".rtf" , ".rtfd" , ".wpd" , ".xls" , ".xlsx" , ".ppt" , "pptx" ], "ARCHIVES" : [ ".a" , ".ar" , ".cpio" , ".iso" , ".tar" , ".gz" , ".rz" , ".7z" , ".dmg" , ".rar" , ".xar" , ".zip" ], "AUDIO" : [ ".aac" , ".aa" , ".aac" , ".dvf" , ".m4a" , ".m4b" , ".m4p" , ".mp3" , ".msv" , "ogg" , "oga" , ".raw" , ".vox" , ".wav" , ".wma" ], "PLAINTEXT" : [ ".txt" , ".in" , ".out" ], "PDF" : [ ".pdf" ], "PYTHON" : [ ".py" ], "XML" : [ ".xml" ], "EXE" : [ ".exe" ], "SHELL" : [ ".sh" ] } FILE_FORMATS = {file_format: directory for directory, file_formats in DIRECTORIES.items() for file_format in file_formats} def organize_junk(): for entry in os.scandir(): if entry.is_dir(): continue file_path = Path(entry) file_format = file_path.suffix.lower() if file_format in FILE_FORMATS: directory_path = Path(FILE_FORMATS[file_format]) directory_path.mkdir(exist_ok = True ) file_path.rename(directory_path.joinpath(file_path)) for dir in os.scandir(): try : os.rmdir( dir ) except : pass if __name__ = = "__main__" : organize_junk() |
- 将上述脚本另存为 垃圾。py 。例如,您希望在桌面上组织文件,然后复制并粘贴文件。在桌面上点击py并运行。
本文由 Srce Cde .如果你喜欢GeekSforgek并想投稿,你也可以使用“投稿”撰写文章。极客。组织或邮寄你的文章到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END