【发布时间】:2018-11-06 21:54:50
【问题描述】:
我正在尝试重命名文件夹中的所有文件并从文件名中删除空格。所有文件的名称中都有 YY-mm-dd 格式的今天日期。以下是我迄今为止设法创建的内容。
但是,运行给我一个“TypeError:startswith first arg must be str or a tuple of str, not _sre.SRE_Pattern”
import os
import datetime
import re
today = datetime.datetime.now()
path = "/some/path/"
regex = re.compile(".*" + today.strftime("(%Y-%m-%d)") + ".*(.log$)", re.IGNORECASE)
for file in os.listdir(path):
os.rename(file.startswith(regex), file.replace(" ","_")
注意:我知道在当前状态下,它会查找今天的日期,而不是除今天之外的所有日期。我已将其保持原样进行测试,一旦它起作用就会反转匹配正则表达式。
提前谢谢你。
【问题讨论】: