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

带有括号和逗号的Python fnmatch

带有括号和逗号的Python fnmatch

千万里不及你 2021-05-30 14:53:39
我正在遍历一个目录,并尝试(0, 0, 0)使用fnmatch.fnmatch(filename,'*(0, 0, 0)*'). 看起来括号和逗号正在抛弃它,并匹配像(0, 1, 1)我不想要的字符串。相关代码段是:for root, dirs, files in os.walk(data_dir):    for file in files:        filename = os.path.join(root, file)        if fnmatch.fnmatch(filename,'*\(0, 0, 0\)*'):            # do stuff目录包含以下文件:\c_(0, 0, 0)\data.txt\c_(0, 05, 05)\data.txt\c_(0, 05, 1)\data.txt\c_(0, 1, 0)\data.txt我的理解是转义括号应该可以解决它,但没有运气。解决此问题的最佳方法是什么?
查看完整描述

2 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

files_list=[]


for filename in os.listdir(r'DirPath'):

    if filename.count('(0, 0, 0)'):

        files_list.append(filename)


查看完整回答
反对 回复 2021-06-01
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

您还需要避开空间。

试试这个 : *\(0,\ 0,\ 0\)*


查看完整回答
反对 回复 2021-06-01
  • 2 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信