2012-05-07 19 views
1

Perforceワイルドカードを含むファイル仕様を拡張する必要があります。私はディスク上のローカルファイル(Perforceデポではない)に必要です。Perforceファイル仕様ワイルドカードのPython glob

つまり、標準の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'] 

これを行うことができるモジュールはありますか?

答えて

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")] 
0

、あなたがのPERFORCEの最新のリリースを持っている場合は、p4 status ....xmlのP4Pythonと同等でこれを行うことができます。