0

我非常了解 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 甚至是用于此用途的正确命令吗?

4

1 回答 1

2

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

[f for f in os.listdir(somedir) if re.match(r'([s-v]|dict8).*\.xaiml', f, re.I)]
于 2013-08-10T02:02:03.223 回答