在目录中按扩展名分类文件(python学习)(11.1)

# -*- coding:utf-8 -*-
# @FileName  :SortBySuffix.py
# @Time      :2024/11/1 15:13
# @Author    :liyiwei


# Python脚本按扩展名在目录中对文件进行排序
import os
from shutil import move

def sort_files(directory_path):
    # 遍历指定目录下的所有文件和文件夹
    for filename in os.listdir(directory_path):
        # 检查当前元素是否为文件
        if os.path.isfile(os.path.join(directory_path, filename)):
            # 分割文件名和扩展名,获取扩展名
            file_extension = filename.split('.')[-1]
            # 创建以扩展名命名的目录,如果目录不存在的话
            destination_directory = os.path.join(directory_path, file_extension)
            if not os.path.exists(destination_directory):
                os.makedirs(destination_directory)
            # 将文件移动到以扩展名命名的目录中
            move(os.path.join(directory_path, filename), os.path.join(destination_directory, filename))


def main():
    # 设置你想要排序的目录路径
    directory_to_sort = 'D:\\virtualC\\图片素材'

    # 调用sort_files函数进行文件排序
    sort_files(directory_to_sort)

    print("文件排序完成。")


if __name__ == "__main__":
    main()
  1. import os:导入os模块,这是Python的标准库之一,提供了许多与操作系统交互的功能,如文件和目录操作。

  2. from shutil import move:从shutil模块中导入move函数。shutil是Python的标准库,提供了许多文件操作的高级函数。

  3. def sort_files(directory_path)::定义一个名为sort_files的函数,它接受一个参数directory_path,表示需要排序文件的目录路径。

  4. for filename in os.listdir(directory_path)::使用os.listdir()函数遍历directory_path目录下的所有文件和子目录。

  5. if os.path.isfile(os.path.join(directory_path, filename))::通过os.path.isfile()函数检查directory_path目录下的filename是否是一个文件。

  6. file_extension = filename.split('.')[-1]:通过.split('.')方法分割文件名和扩展名,并获取扩展名。.split('.')将文件名按照点(.)分割成列表,[-1]索引获取列表的最后一个元素,即扩展名。

  7. destination_directory = os.path.join(directory_path, file_extension):创建一个新的目录路径,这个路径是以文件扩展名命名的新目录。

  8. if not os.path.exists(destination_directory)::检查以扩展名命名的新目录是否存在。

  9. os.makedirs(destination_directory):如果新目录不存在,则创建这个目录。os.makedirs()函数创建一个目录,包括创建其所有父目录。

  10. move(os.path.join(directory_path, filename), os.path.join(destination_directory, filename)):将文件从原来的位置移动到以扩展名命名的新目录中。

  11. def main()::定义一个名为main的函数。

    扫描二维码关注公众号,回复: 17480740 查看本文章
  12. directory_to_sort = 'D:\\virtualC\\图片素材':设置你想要排序的目录路径。在Windows系统中,使用双反斜杠\\来表示路径。

  13. sort_files(directory_to_sort):调用sort_files函数,并传入directory_to_sort作为参数。

  14. print("文件排序完成。"):执行完成后,输出提示信息“文件排序完成。”。

  15. if __name__ == "__main__"::这是Python中常见的模式,如果这个脚本是作为主程序运行的,那么就执行main()函数。

猜你喜欢

转载自blog.csdn.net/m0_62261710/article/details/143433266