首页 > 解决方案 > 如果目录在 Python 中以数字结尾,则删除目录

问题描述

我正在尝试删除以数字结尾的路径中的一些目录。路径中还有其他以我不想删除的字母结尾的 fodler。我正在使用shutil.rmtree这些文件夹,因为这些文件夹有我也需要删除的子文件夹。file_path在脚本前面定义,我知道它指向正确的位置。

for folder in file_path :
    if folder.endswith ('/*[0-9]+') :
        shutil.rmtree(folder)
        print("Successfully deleted %s " % folder)
    else:
        print("Error while deleting folder")

标签: pythondirectoryshutil

解决方案


if folder.endswith ('/*[0-9]+') :

这将检查以该字符串结尾的文件夹:而不是您似乎想要的正则表达式。您必须专门检查这一点。

path = folder.split('/')
# Now, check whether the last element is an integer.
file_name = path[-1]
if file_nam.isdigit(e):
    ...

在一行...

if folder.split('/')[-1].isdigit():

推荐阅读