Python 保存到当前文件夹下的指定目录
介绍
在Python编程中,我们经常需要保存文件到指定的目录。但是如果我们想要保存到当前文件夹下的特定目录,该如何实现呢?本文将详细介绍如何使用Python保存文件到当前文件夹下的指定目录。
准备工作
在开始之前,我们需要先了解几个概念:
- 当前工作目录:即程序当前所在的文件夹。我们可以使用
os.getcwd()
函数来获取当前工作目录。 -
绝对路径:即文件或文件夹在文件系统中的完整路径。
-
相对路径:即文件或文件夹相对于当前工作目录的路径。
保存文件到当前文件夹下的指定目录
以下是一种常见的保存文件到当前文件夹下指定目录的方法:
import os
import shutil
# 获取当前工作目录
current_dir = os.getcwd()
# 指定目录名称
target_dir_name = "my_folder"
# 拼接目标目录的绝对路径
target_dir_path = os.path.join(current_dir, target_dir_name)
# 创建目标目录
os.makedirs(target_dir_path, exist_ok=True)
# 拷贝文件到目标目录
shutil.copy("my_file.txt", target_dir_path)
上述代码首先使用os.getcwd()
函数获取当前工作目录的路径,并将其赋值给current_dir
。然后,我们通过指定目录的名称(在这里是my_folder
)和当前工作目录,使用os.path.join()
函数拼接得到目标目录的绝对路径。接下来,我们使用os.makedirs()
函数创建目标目录,exist_ok=True
保证如果目标目录已经存在则不会抛出异常。最后,我们使用shutil.copy()
函数将my_file.txt
文件拷贝到目标目录中。
需要注意的是,保存到指定目录时,我们需要提供相对于当前工作目录的路径信息。如果文件不在当前工作目录下,我们需要提供绝对路径。
示例
现在,让我们看一个具体的示例。假设我们有以下文件结构:
.
├── main.py
├── my_folder
│ ├── subfolder
│ │ └── hello.txt
│ └── logs
│ └── log.txt
└── my_file.txt
我们需要将my_file.txt
保存到my_folder/subfolder
目录下:
import os
import shutil
# 获取当前工作目录
current_dir = os.getcwd()
# 指定目录名称
target_dir_name = "my_folder/subfolder"
# 拼接目标目录的绝对路径
target_dir_path = os.path.join(current_dir, target_dir_name)
# 创建目标目录
os.makedirs(target_dir_path, exist_ok=True)
# 拷贝文件到目标目录
shutil.copy("my_file.txt", target_dir_path)
执行以上代码后,my_file.txt
文件将会被拷贝到my_folder/subfolder
目录下。
结论
通过使用os.getcwd()
函数获取当前工作目录路径,然后使用os.path.join()
函数拼接目标目录的绝对路径,我们可以将文件保存到当前文件夹下的指定目录。使用os.makedirs()
函数可以创建目标目录,使用shutil.copy()
函数可以将文件拷贝到目标目录中。