我試圖找出在變量中存儲動態或變化值的最佳方法,并將該變量用作我在 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 + '*'):
這讓我得到了我想要的結果
添加回答
舉報
0/150
提交
取消