Python 创建文件夹:教你轻松实现
在 Python 中,文件夹也称作目录,我们可以使用 os
或 os.path
模块来完成文件夹(目录)的创建、删除、重命名等操作。本篇文章将详细介绍如何使用 Python 创建文件夹,让我们一起来了解一下吧。
os 模块创建文件夹
os
模块提供了许多与操作系统交互的接口函数,其中包括创建、删除、移动、重命名文件和目录等功能,下面就来一一介绍一下。
首先是使用 os.mkdir
创建单层目录的函数。该函数需要一个字符串型的参数,即需要创建的目录路径,示例代码如下:
import os
dir_path = "test_dir"
os.mkdir(dir_path)
以上代码中,我们传入一个字符串型的参数 dir_path
,它表示需要创建的文件夹的名称。注意,若该路径下已经存在了同名的文件夹,该函数将会抛出一个 OSError 异常。
接下来我们介绍如何创建多级目录。如果需要创建的目录层级比较深,一次性传入需要创建的所有目录层次就显得繁琐了。在这种情况下,可以使用 os.makedirs
函数来进行递归创建目录。示例代码如下:
import os
dir_path = "./test_dir/test_subdir/test_subsubdir"
os.makedirs(dir_path)
以上代码中,我们创建了三层目录,其中最后一段路径 test_subsubdir
被看作是嵌套在第二层目录 test_subdir
中的第三层目录。通过使用 os.makedirs
函数来递归创建多级目录比较常用且方便,不易出错。
os.path 模块创建文件夹
os.path
模块包含了许多与文件路径相关的函数,其中也包括文件夹(目录)的新建和删除,下面我们来一探究竟。
首先介绍的是使用 os.path.join
函数来创建目录。 os.path.join
模块函数可以将多个路径字符串连接起来,并自动识别操作系统类型,返回值是一个字符串型的拼接后的路径。示例代码如下:
import os
dir_path = os.path.join(".", "test_dir")
os.mkdir(dir_path)
以上代码使用了 os.path.join
函数,将两个路径字符串(”。”和 “test_dir”)拼接在一起,拼接过后的目录路径就是当前目录下的 “test_dir” 目录。
再介绍一个有趣的小技巧,如果想在当前目录下创建一个临时目录,也可以使用 tempfile.TemporaryDirectory
来方便地完成。还可以在适当的时候交给 Python 的垃圾回收机制进行自动清理。示例代码如下:
import tempfile
import shutil
with tempfile.TemporaryDirectory() as tmp_dir:
print(tmp_dir)
以上代码使用了 tempfile.TemporaryDirectory
函数,该函数可以在临时目录中创建一个文件夹,并返回这个文件夹的路径,当离开 with
代码块的时候,Python 会在自动删除临时目录。
shutil 模块创建文件夹
shutil
模块是 Python 自带的一个文件操作模块库,在操作文件的时候提供了很多便利。该模块中提供了 make_archive
函数来将文件夹打包成 .zip 文件,并可自动获取文件夹名称,参看下面的示例。
import shutil
shutil.make_archive("test_dir", 'zip', "test_dir")
以上代码使用了 shutil.make_archive
函数,返回的是压缩文件的完整路径。其中第一个参数是打包后的压缩文件的名称,第二个参数是压缩类型,常用的有 “zip”、”tar” 和 “gztar” 等,第三个参数是需要被打包的文件夹的路径。
结论
本文介绍了 Python 中三种不同的方式创建文件夹,分别是使用 os
模块、os.path
模块和 shutil
模块。其中 os.mkdir
和 os.makedirs
可以创建单层目录和多层目录,os.path.join
可以将多个路径字符串进行拼接来生成路径,而 shutil.make_archive
则可以将文件夹打包成压缩文件。
当你需要新建一个目录时,可以根据实际情况选择使用不同的方式,以达到最佳的效果。