我正在尝试使用时间戳生成输出文件名和路径。所有部件都按预期工作,但是回复sub没有给我想要的结果。我做错什么了?你知道吗
>>> a = r'\output\End-of-Day\{%Y\%m\%d\UINVDEFF securities %m.%d.%Y}.xlsx'
>>> b = re.search(r'(?P<timestamp>\{[^}]*(%[A-Za-z])[^{]*\})', a)
>>> b.group('timestamp')
'{%Y\\%m\\%d\\UINVDEFF securities %m.%d.%Y}'
>>> now
datetime.datetime(2014, 8, 18, 11, 43, 47, 55000)
>>> now.strftime(b.group('timestamp'))[1:-1]
'2014\\08\\18\\UINVDEFF securities 08.18.2014'
>>> re.sub(b.group('timestamp'), now.strftime(b.group('timestamp'))[1:-1], a)
'\\output\\End-of-Day\\{%Y\\%m\\%d\\UINVDEFF securities %m.%d.%Y}.xlsx'
应为“\output\End of Day\2014\08\18\UINVDEFF securities 08.18.2014.xlsx”
^{} 调用将其第一个参数解释为正则表达式模式:
如果只想用字符串中的另一个子字符串替换子字符串,请使用^{} :
相关问题 更多 >
编程相关推荐