Python正则表达式模式



我正在重命名目录中的所有文件,并使用regex模式检查是否有任何文件具有适当的文件名结构(我在www.rubular.com上仔细检查了该模式,它似乎是正确的)。如果是,则跳过重命名文件。以下代码重命名文件,不管它是否具有适当的文件名结构。。。。我不明白为什么它不跳过文件。在确定正则表达式模式不起作用的原因方面提供的任何帮助都将不胜感激:

# Appropriate file name: P.002-night.jpg; File name to rename: bird.jpg

import os, os.path
import re

def displaymatch(match):
    if match is None:
        return None
    return '<Match: %r, groups=%r>' % (match.group(), match.groups())
sampledir = "c:\Users\Name\Desktop\New folder"
os.chdir(sampledir)
FileList = os.listdir(os.getcwd())

num = 000
pattern = r"w.d{3}-w+.(jpg|Jpg|JPG)"

for filename in FileList:
    if displaymatch(re.match(pattern, filename)) != None:
        pass
    else:
        os.rename(filename, "P." + str("{0:0=3d}".format(num)) + "-" + filename)
        num+= 1
pattern = r"w.d{3}-w+.(jpg|Jpg|JPG)"

for filename in FileList:
    if displaymatch(re.match(pattern, filename)) is None:
        os.rename(filename, "P." + str("{0:0=3d}".format(num)) + "-" + filename)
        num+= 1

相关内容

  • 没有找到相关文章

最新更新