创建一个lambda对输入执行2个测试。测试1很简单——只需要知道输入b是否在名为pats
的列表中。如果该测试为false,那么它应该根据WCARDPATS中的任何条目来测试输入是否在列表wcardpats
中匹配。我使用[b]是因为b不是列表,但是fnmatch.filter()
将文件名列表作为第一个参数,将要测试的模式作为第二个参数。你知道吗
`lambda b: b in pats` OR THE SECOND TEST
所以当我使用lambda时,我正在测试我的输入(b)是否在pats
,
或者wcardpats
中的一个条目返回fnmatch.filter([b],
的匹配项
wcardpats条目)。你知道吗
我需要使用fnmatch.filter过滤器()而不是reg-ex
既然我不能接受评论作为答案,我想我会自己回答的。@切普纳是正确的:
lambda b: b in pats or any(fnmatch.filter([b], e) for e in wcardpats)
工作。你知道吗相关问题 更多 >
编程相关推荐