我需要扩展包含Perforce通配符的文件规范。我需要这个用于磁盘上的本地文件(不在Perforce软件仓库中)。
也就是说,我需要像标准Python glob.glob()
这样的东西,它也能理解Perforce通配符“......”。例如:
>>> from p4glob import p4glob # The module I wish I had
>>> p4glob('....xml')
['a.xml', 'dir/b.xml', 'x/y/z/c.xml']
有人有一个可以做到这一点的模块吗?
答案 0 :(得分:1)
只需使用os.walk
并过滤即可。
import os
def p4glob(ext, startdir='.'):
for root, dirs, files in os.walk(startdir):
for f in files:
# whatever filter params you need. e.g:
if f.endswith(ext):
yield os.path.join(root, f)
# or append to an output list if you dont want a generator
# usage
[i for i in p4glob(".xml")]
答案 1 :(得分:0)
此外,如果您拥有最新版本的Perforce,则可以使用等效于p4 status ....xml
的P4Python执行此操作。