如何解决如何根据特定条件在python中检查文件夹中的特定文件或目录并移动它
我想创建一个python垃圾管理器。为此,我们在文件夹中有一个png文档文件和两个名为cars and bikes的目录。我有一个python脚本,可以分别在图片,文档和 PDF 文件夹中对这些文件进行排序。现在除此以外,我还想将这两个目录名称 cars和 bikes 放在名为 MISC 的文件夹中。我要这样做的方法是移动名称与脚本创建的文件夹不匹配的所有文件夹。
这是脚本:
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()
请不要降级对我来说意味着什么的问题! 任何帮助将不胜感激。谢谢!
解决方法
您似乎已经有一个块来检查您是否在查看目录,但它什么都没做:
if entry.is_dir():
continue
似乎您只想在遇到目录不是“ DIRECTORIES”字典中的键之一时创建一个名为“ MISC”的新目录。像这样:
if entry.is_dir():
if <the directory's name is not in DIRECTORIES>:
# Create directory 'MISC',then move entry into 'MISC'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。