Python 简明教程
Python - Directories
Directories in Python
在 Python 中,目录通常称为操作系统中的文件夹,它们是文件系统中用于存储文件和其他目录的位置。它们充当以分层方式对文件分组和管理的方法。
Python 提供了多个模块,主要有 os 和 os.path ,以及 shutil,它们允许你在目录上执行各种操作。
这些操作包括创建新目录、浏览现有目录、列出目录内容、更改当前工作目录以及删除目录。
Checking if a Directory Exists
在对目录执行操作之前,你通常需要检查它是否存在。我们可以使用 Python 中的 os.path.exists() 函数来检查目录是否存在。
此函数接受单个参数,该参数是一个表示文件系统中路径的字符串。此参数可能是: -
-
Relative path − 相对当前工作目录的路径。
-
Absolute path − 从根目录开始的完整路径。
Example
在此示例中,我们使用 os.path.exists() 函数检查给定的目录路径是否存在: -
import os
directory_path = "D:\\Test\\MyFolder\\"
if os.path.exists(directory_path):
print(f"The directory '{directory_path}' exists.")
else:
print(f"The directory '{directory_path}' does not exist.")
以下是上面代码的输出: -
The directory 'D:\\Test\\MyFolder\\' exists.
Creating a Directory
你使用 os.makedirs() 函数在 Python 中创建新目录。此函数在目录不存在的情况下创建中间目录。
os.makedirs() 函数接受你想要创建的 “路径” 作为参数。它可以选择接受 “模式” 参数,该参数指定为新创建目录所设置的权限。它是一个以八进制格式表示的整数(例如,0o755)。如果没有指定,则根据系统的 umask 使用默认权限。
Example
在以下示例中,我们使用 os.makedirs() 函数创建一个新目录: -
import os
new_directory = "new_dir.txt"
try:
os.makedirs(new_directory)
print(f"Directory '{new_directory}' created successfully.")
except OSError as e:
print(f"Error: Failed to create directory '{new_directory}'. {e}")
执行上面的代码后,我们得到以下输出: -
Directory 'new_dir.txt' created successfully.
The mkdir() Method
你可以使用 os 模块的 mkdir() method 在当前目录中创建目录。你需要向此方法提供一个参数,其中包含要创建的目录的名称。
以下是 mkdir() 方法在 Python 中的语法 −
os.mkdir("newdir")
Get Current Working Directory
若要在 Python 中检索当前工作目录,可以使用 os.getcwd() function 。该函数返回一个字符串,表示执行 Python 脚本的当前工作目录。
Listing Files and Directories
可以使用 os.listdir() 函数列出目录的内容。该函数返回指定目录路径内所有文件和目录的列表。
Example
在下面的示例中,我们使用 listdir() 函数列出指定目录路径的内容 −
import os
directory_path = r"D:\MyFolder\Pictures"
try:
contents = os.listdir(directory_path)
print(f"Contents of '{directory_path}':")
for item in contents:
print(item)
except OSError as e:
print(f"Error: Failed to list contents of directory '{directory_path}'. {e}")
以上代码的输出如下所示 −
Contents of 'D:\MyFolder\Pictures':
Camera Roll
desktop.ini
Saved Pictures
Screenshots
Changing the Current Working Directory
可以使用 chdir() method 更改当前目录。该方法接受一个参数,即要设为当前目录的目录名称。
Example
以下是使用 chdir() 方法将当前目录更改为 Desktop 的示例 −
import os
new_directory = r"D:\MyFolder\Pictures"
try:
os.chdir(new_directory)
print(f"Current working directory changed to '{new_directory}'.")
except OSError as e:
print(f"Error: Failed to change working directory to '{new_directory}'. {e}")
我们得到了如下输出 −
Current working directory changed to 'D:\MyFolder\Pictures'.
Removing a Directory
可以使用 os.rmdir() method 在 Python 中删除空目录。如果目录包含文件或其他目录,可以使用 shutil.rmtree() 方法递归删除。
Example
在以下示例中,我们使用 os.rmdir() 方法删除空目录 −
import os
directory_path = r"D:\MyFolder\new_dir"
try:
os.rmdir(directory_path)
print(f"Directory '{directory_path}' successfully removed.")
except OSError as e:
print(f"Error: Failed to remove directory '{directory_path}'. {e}")
它将生成如下输出:
Directory 'D:\MyFolder\new_dir' successfully removed.