📜  使用Python基于列表创建多个目录

📅  最后修改于: 2022-05-13 01:55:26.419000             🧑  作者: Mango

使用Python基于列表创建多个目录

在本文中,我们将学习如何使用Python基于列表创建目录。 Python有一个名为os的模块,它构成了Python生态系统的核心部分。 os 模块帮助我们处理操作系统文件夹和其他相关功能。虽然我们可以在这里直接在系统上创建文件夹/目录,但我们将看到如何从Python中给出的列表中创建多个文件夹,这样耗时更少。

为了完成我们的任务,我们将使用Python中提供的一些模块及其方法,如下所示:

  • os: Python的 os 模块为我们提供了一些与操作系统交互的方法(此处用于创建文件夹)。
  • os.mkdir(path) 用于在目录中一次创建一个文件夹(此处为路径)。  
  • os.path.join(root_path, path) 此方法将多个路径连接到单个目录。这里参数根路径将与要创建的路径连接。
  • 部分(函数,参数1,参数2,...) 这个 方法允许一个人固定一定数量的参数并生成一个新函数。
  • os.makedirs(path) 这个方法可以帮助我们一次创建多个目录。这里的参数path表示我们要创建的子文件夹所在的目录。

示例1:在安装Python的同一目录下创建文件夹

在这个例子中,我们采用了一个元素列表。然后我们遍历列表中的每个元素。由于我们没有提到任何根目录,os模块在我们的Python ide安装目录中为列表的每个元素创建了一个文件夹。

Python3
import os
  
list = ['folder10','folder11','folder12',
        'folder13', 'folder15']
  
for items in list:
    os.mkdir(items)


Python3
import os
  
root_path = 'Documents/tmp/year/month/week/day/hour'
  
list = ['car', 'truck', 'bike', 'cycle', 'train']
  
for items in list:
    path = os.path.join(root_path, items)
    os.mkdir(path)


Python3
import os
from functools import partial
  
root_directory = 'Documents/abc'
  
list = ('one/sub_file_1', 'two/sub_file_2', 'three/sub_file_3')
  
concat_root_path = partial(os.path.join, root_directory)
make_directory = partial(os.makedirs, exist_ok=True)
  
for path_items in map(concat_root_path, list):
    make_directory(path_items)


输出:

示例 2:在不同目录中创建文件

在变量中声明我们要在其中创建文件夹列表的根目录。初始化项目列表。然后遍历列表中的每个元素。 os 模块在我们的Python ide 安装目录中为列表的每个元素创建一个文件夹。使用 os.path.join() 将列表中的项目作为文件夹加入到根目录中。然后使用 os.mkdir() 在列表的每次迭代中创建一个目录。

蟒蛇3

import os
  
root_path = 'Documents/tmp/year/month/week/day/hour'
  
list = ['car', 'truck', 'bike', 'cycle', 'train']
  
for items in list:
    path = os.path.join(root_path, items)
    os.mkdir(path)

输出:

示例 3:在给定的根目录中创建包含子文件夹的目录列表



首先,从函数模块中导入偏函数并初始化根目录和目录列表。使用部分函数并用根目录预填充它以创建用于创建内部文件夹列表的路径。然后再次借助部分函数和 os.makedirs() 方法预填充 make_directory函数。遍历给定的项目列表。在每次迭代中,以每个列表项作为参数调用 make_directory 方法以创建目录。

蟒蛇3

import os
from functools import partial
  
root_directory = 'Documents/abc'
  
list = ('one/sub_file_1', 'two/sub_file_2', 'three/sub_file_3')
  
concat_root_path = partial(os.path.join, root_directory)
make_directory = partial(os.makedirs, exist_ok=True)
  
for path_items in map(concat_root_path, list):
    make_directory(path_items)

输出:

下面给出了创建的子文件夹的快照。