为了账号安全,请及时绑定邮箱和手机立即绑定

通过变量或模式匹配和变量组合的动态 fnmatch 模式

通过变量或模式匹配和变量组合的动态 fnmatch 模式

蛊毒传说 2022-06-02 16:45:56
我试图找出在变量中存储动态或变化值的最佳方法,并将该变量用作我在 fnmatch 中的模式搜索的一部分。很可能 fnmatch 不是正确的方法吗?尽量保持简单。我正在从一个目录中读取文件列表,该目录的日期字符串每天都在变化。我想验证我要查找的文件是否存在,现在只需打印文件名。这有效...#!/bin/pythonimport osimport datetime as dtimport fnmatchworking_dir = '/my/working/dir/'now = dt.date.today()f_date = (now.strftime('%Y%m%d'))print f_datefor root,dirs,files in os.walk(working_dir):  for fname in files:    if fnmatch.fnmatch(fname, '*data*20190923*'):      print fname  exit(0)我看到的是我想进一步评估的文件:20190923file-data-random_junk.20190923.txt但是我想在模式行中做的是使用f_date它返回字符串20190923而不是输入日期字符串。是否可以匹配模式字符串中的文本和变量的组合,以便我可以执行以下操作:if fnmatch.fnmatch(fname, '*data*[my variable]*'):?
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

好的,我想我可能已经回答了我自己的问题。留给后代,以防它帮助任何人。我所做的只是改变 fnmatch 行:if fnmatch.fnmatch(fname, '*data*' + f_date + '*'):这让我得到了我想要的结果



查看完整回答
反对 回复 2022-06-02
  • 1 回答
  • 0 关注
  • 96 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号