我有一个文件夹,其中的子文件夹全部采用 YYYYMMDDHHMMSS (时间戳)模式。
我想使用 glob 仅选择与该模式匹配的文件夹。
Since glob http://docs.python.org/library/glob.html不支持正则表达式,您将不得不暴力创建匹配字符串。一种方法是利用字符范围的事实[]
被扩展:
C:\temp\py>mkdir 12345678901234
C:\temp\py>C:\Python26\python.exe
Python 2.6.2 Stackless 3.1b3 060516 (release26-maint, Apr 14 2009, 21:19:36) [M
C v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import glob
>>> glob.glob('./' + ('[0-9]' * 14))
['.\\12345678901234']
>>>
我利用了这样一个事实:在Python中,将字符串与整数相乘n结果该字符串被重复n times.
当然,您可能想要继续进行检查以验证给定路径实际上是一个目录:
>>> [path for path in glob.iglob('./' + ('[0-9]' * 14))]
['.\\11223344556677', '.\\12345678901234']
>>> [path for path in glob.iglob('./' + ('[0-9]' * 14)) if os.path.isdir(path)]
['.\\12345678901234']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)