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

问题描述 投票:0回答:1

我有一个由日期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)
python regex directory escaping
1个回答
0
投票

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

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”​​结尾的“日期”文件夹。

© www.soinside.com 2019 - 2024. All rights reserved.