Python3:整个字符串的文件全局

时间:2013-08-10 01:44:16

标签: regex python-3.x filenames glob

我非常了解Python3中的文件通配。但是,官方的Python3文档没有任何关于我想问的内容。我有一个包含许多Xaiml文件的文件夹(Betabots的XML数据库)。我正在将某些文件分组在一起。例如,我用过

glob.glob('./temp/xaiml2/[IiJjKkLlPpQqRr]*.[Xx][Aa][Ii][Mm][Ll]')

以便我以后可以将这些文件放到一个文件中。这是挑战,我想将文件组合在一起,以S,s,T,t,U,u,V,v和dict8开头。是的,文件以完整字符串开头,后面可能包含其他字符。我尝试过像[SsTtUuVv'dict8']这样的代码,但是glob命令不喜欢('SyntaxError:invalid syntax')。这是可能的,如果是的话,怎么样? glob.glob甚至是这个用法的正确命令吗?

1 个答案:

答案 0 :(得分:2)

您需要使用os.listdir()来获取目录内容,然后使用re.match()来匹配文件名内容。

[f for f in os.listdir(somedir) if re.match(r'([s-v]|dict8).*\.xaiml', f, re.I)]