python - 带有文件夹的 Python f 字符串
问题描述
我正在尝试使用正则表达式在文件夹中查找特定文件名,但是我的正则表达式似乎不起作用。
在我的文件夹中,excel文件的名称是
Payments - 2020-10-24.xlsx
Payments - 2020-10-25.xlsx
Payments - 2020-10-26.xlsx
Payments - 2020-10-27.xlsx
import re
import datetime
filepath = os.listdir("C:\\Users\\myUserName\\Documents\\folder")
date = today.strftime('%Y-%m-%d')
regex = fr'^Payments - {date}.xlsx$'
pattern = re.compile(regex)
for i in filepath:
if pattern.fullmatch == True:
print(i)
else:
print('No')
解决方案
您没有针对任何东西测试您的正则表达式。pattern.fullmatch
将返回一个方法对象。你可能想写
if pattern.fullmatch(i):
话虽如此,我看不出有理由在这里使用正则表达式。你可以简单地做
if i == f'Payments - {date}.xlsx':
print(i)
...
甚至更好(不检查文件夹中的所有文件):
from os import path
if path.exists(f"C:/<your folders>/Payments - {date}.xlsx"):
print("Found")
else:
print("Not found")
推荐阅读
- python - 在 python-chess 中为游戏添加变体/节点
- selenium - Java Selenium 中的页面对象模式 - 元素更新
- node.js - 如何在猫鼬中使用自动增量?
- installation - 如何在 WIX 安装程序中包装 MSI 的许可证文件部分
- three.js - 带有 A-Frame/AR JS 的基于 Web 的增强现实 (AR) 中的模态图像弹出窗口
- reactjs - 没有保存按钮的自动保存表单 - Apollo,React
- php - 如果 cookie 基于 url 设置,则设置 cookie 并重定向
- python - Poll is adding multiple votes
- kubernetes - 如何自动缩放从队列中拉出任务的 Pod
- javascript - 手动验证 Stripe web-hook