Python os.rmdir() 方法详解

  • Post category:Python

Python os.rmdir() 的作用

os.rmdir() 是 Python 中的一个目录操作函数,用于删除指定的空目录。如果该目录中还有其他文件或子目录,则删除失败,抛出 OSError 异常。

Python os.rmdir() 的语法

os.rmdir() 函数的语法如下:

os.rmdir(path)

其中,path 表示要删除的目录路径,可以是相对路径或绝对路径。

Python os.rmdir() 的返回值

os.rmdir() 函数没有返回值,只有可能抛出异常(OSError),表示目录删除失败。

Python os.rmdir() 的使用方法

下面是使用 os.rmdir() 函数删除目录的示例程序:

import os

# 指定要删除的目录路径
dir_path = '/tmp/mydir'

try:
    # 删除目录
    os.rmdir(dir_path)
    print(f'{dir_path} 目录已删除')
except OSError as ex:
    # 如果目录删除失败,会抛出异常
    print(f'无法删除 {dir_path} 目录:{ex}')

上面的程序演示了如何使用 os.rmdir() 函数删除指定目录。在删除之前,程序可以先检查该目录是否为空,以避免因为目录中包含文件或子目录而删除失败。下面是另一个示例:

import os

# 指定要删除的目录路径
dir_path = '/tmp/mydir'

if os.path.isdir(dir_path):
    if not os.listdir(dir_path):
        # 目录为空,可以删除
        os.rmdir(dir_path)
        print(f'{dir_path} 目录已删除')
    else:
        # 目录不为空
        print(f'{dir_path} 目录不为空,无法删除')
else:
    # 目录不存在
    print(f'{dir_path} 目录不存在')

上面的程序使用 os.path.isdir() 函数先判断目录是否存在,然后使用 os.listdir() 函数检查目录是否为空,如果是空目录则删除,否则输出提示信息。

需要注意,os.rmdir() 函数只能删除空目录,如果要删除非空目录,可以使用 shutil.rmtree() 函数。同时,由于删除操作具有很大的风险,请务必慎重使用该函数,避免误导致数据丢失或系统崩溃。