MEMOO
MEMOO
Published on 2025-04-21 / 3 Visits
0
0

如何在 Python 中操作目录

摘要:在本教程中,您将学习如何使用 os 模块在 Python 中操作目录。

获取当前工作目录

当前工作目录是 Python 脚本正在运行的目录。要获取当前工作目录,您可以使用 os.getcwd(),如下所示:

import os


cwd = os.getcwd()
print(cwd)

要更改当前工作目录,您可以使用函数 os.chdir()

import os


os.chdir('/script')
cwd = os.getcwd()
print(cwd)

连接和拆分路径

为了让程序在包括 Windows、Linux 和 macOS 在内的多个平台上运行,您需要使用与平台无关的文件和目录路径。

Python 为您提供了一个子模块 os.path,其中包含几个有用的函数和常量,用于连接和拆分路径。

join() 函数将路径组件连接在一起,并返回带有相应路径分隔符的路径。例如,它在 Windows 上使用反斜杠 (\),在 macOS 或 Linux 上使用正斜杠 (/)。

split() 函数将路径拆分为组件,而不包含路径分隔符。以下是使用 join()split() 函数的示例:

import os

fp = os.path.join('temp', 'python')
print(fp)  # temp\python (on Windows)

pc = os.path.split(fp)
print(pc)  # ('temp', 'python')

测试路径是否为目录

要检查路径是否存在且为目录,您可以使用 os.path.exists()os.path.isdir() 函数。例如:

import os

dir = os.path.join("C:\\", "temp")
print(dir)

if os.path.exists(dir) or os.path.isdir(dir):
    print(f'The {dir} is a directory')

创建一个目录

要创建一个新目录,您可以使用 os.mkdir() 函数。并且,在创建新目录之前,您应该始终先检查该目录是否已存在。

以下示例在 c:\temp 目录下创建一个名为 python 的新目录。

import os

dir = os.path.join("C:\\", "temp", "python")
if not os.path.exists(dir):
    os.mkdir(dir)

重命名目录

要重命名目录,您可以使用 os.rename() 函数:

import os

oldpath = os.path.join("C:\\", "temp", "python")
newpath = os.path.join("C:\\", "temp", "python3")

if os.path.exists(oldpath) and not os.path.exists(newpath):
    os.rename(oldpath, newpath)
    print("'{0}' was renamed to '{1}'".format(oldpath, newpath))

删除目录

要删除目录,您可以按如下方式使用 os.rmdir() 函数:

import os

dir = os.path.join("C:\\","temp","python")
if os.path.exists(dir):
    os.rmdir(dir)
    print(dir + ' is removed.')

递归遍历目录

os.walk() 函数允许您递归地遍历目录os.walk() 函数返回根目录、子目录和文件。

以下示例展示了如何打印 c:\temp 目录中的所有文件和目录:

import os

path = "c:\\temp"
for root, dirs, files in os.walk(path):
    print("{0} has {1} files".format(root, len(files)))

总结

  • 使用 os.getcwd() 函数获取当前工作目录。

  • 使用 os.chdir() 函数将当前工作目录更改为新目录。

  • 使用 os.mkdir() 函数创建新目录。

  • 使用 os.rename() 函数重命名目录。

  • 使用 os.rmdir() 函数删除目录。

  • 使用 os.walk() 函数列出目录的内容。



Comment