Python - 正则表达式作为目录路径的一部分 - 转义

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python - 正则表达式作为目录路径的一部分 - 转义相关的知识,希望对你有一定的参考价值。

我有一个由日期MMDDYYYY(11222013)命名的目录列表。我最终试图删除2013年的所有目录。我相信我的正则表达式应该是寻找6位[0-9]。我已经尝试将代码分解为多个变量,但没有运气。

我怀疑我没有正确地逃避正则表达式。我一直遇到这个错误:

FileNotFoundError:[WinError 3]系统找不到指定的路径:'C:/ U sers / USER / Desktop / test / d {6} 13'

我已经尝试打印输出,我得到了这条路径:

C:/用户/用户/桌面/测试/ d {6} 13

我的代码:

import os
import shutil
import re
StrDir = 'C:/Users/USER/Desktop/test/'
Regex = r"d{6}" + '13'
print (StrDir + Regex)
shutil.rmtree (StrDir + Regex)
答案

这段代码可以解决这个问题:

import os
import shutil
import re

pattern = "^d{4}2013$"
searchDir = 'C:/Users/USER/Desktop/test/'
innerDirs = os.listdir(searchDir)
for dir in innerDirs:
    if (re.search(pattern, dir)):
        shutil.rmtree(searchDir + dir) 

上面的代码将删除任何以“2013”​​结尾的“日期”文件夹。

以上是关于Python - 正则表达式作为目录路径的一部分 - 转义的主要内容,如果未能解决你的问题,请参考以下文章

调整 Django URL 中的正则表达式以匹配文件路径

python实现对文件批量重命名(用到正则表达式和os.path模块)

python正则表达式入门

python正则表达式入门

用于提取部分文件路径的正则表达式

python-正则