• 给每个文件都建立一个文件夹 with Python


    需求

    有时文件比较多,比如50个SQL文件都在一个目录中,需要将他们每一个都建立一个文件夹,每个文件夹里面放入一个SQL文件,若手动建立文件夹太麻烦,因此使用 Python 脚本自动化实现。

    代码

    import os
    from shutil import move
    def file_each_dir(dir_path,dir_names):
        """将指定目录的文件,分别建立文件夹转移到 `dir_names` 列出的文件夹名称中
    
        Args:
            dir_path (str): 文件所在的文件夹
            dir_names (List): 要建立的文件夹名称列表
        """
        files = os.listdir(path=dir_path)
        assert len(files)==len(dir_names), "文件夹数量和文件数据不相等"
        lenght_files = len(files)
        for i in range(lenght_files):
            des_dir_path = dir_path + "/" + dir_names[i]
            os.mkdir(des_dir_path)
            src_file_path = dir_path + "/" + files[i]
            des_file_path = des_dir_path + "/" + files[i]
            move(src_file_path, des_file_path)
            print(src_file_path + " -> " + des_file_path)
    

    测试

    当前文件目录结构是:

    dir_sql/
    ├── test1.sql
    ├── test2.sql
    ├── test3.sql
    └── test4.sql
    

    想要将这些SQL文件分别放入四个文件夹中:

    if __name__ == '__main__':
        to_dir = './dir_sql'
        dir_names=['1','2','3','4']
        file_each_dir(to_dir,dir_names=dir_names)
    

    第一个参数是这些文件当前在哪个文件夹中,第二个参数是文件的列表,必须要指定,是指定的 1-4 四个数字作为新建的文件夹名字。运行后结构是:

    dir_sql/
    ├── 1
    │   └── test1.sql
    ├── 2
    │   └── test2.sql
    ├── 3
    │   └── test3.sql
    └── 4
        └── test4.sql
    
  • 相关阅读:
    异步编程
    MVC返回文件
    MVC源码分析
    MVC源码分析
    MVC源码分析
    MVC源码分析
    MVC源码分析
    MVC源码分析
    MVC源码分析
    MVC源码分析
  • 原文地址:https://www.cnblogs.com/heenhui2016/p/13803817.html
Copyright © 2020-2023  润新知