我有一个函数,如果一个字符串匹配列表中的至少一个正则表达式,则返回True,否则返回False.经常调用该函数,性能是一个问题.
当通过cProfile运行时,该函数花费大约65%的时间进行匹配,35%的时间遍历列表.
我认为有一种方法可以使用map()或其他东西,但我想不出一种让它在找到匹配后停止迭代的方法.
有没有办法让这个功能更快,同时还能在找到第一个匹配后返回它?
def matches_pattern(str, patterns):
for pattern in patterns:
if pattern.match(str):
return True
return False
Run Code Online (Sandbox Code Playgroud) 我有一个程序,使用dateutil包索引.我想有setup.py检查它的存在,并尝试使用它,easy_install如果它不存在.
文档distutils似乎表明这可以使用requires关键字in 来完成setup(),但是当我尝试时,它会安装在系统上而dateutil不会发出警告或安装所需的包.
我在谷歌上找到的唯一一件事就是这篇关于同样问题的博客文章也没有任何答案.
我用distutils错了吗?我是否需要子类distutils.command.install并自己进行检查/安装?