【发布时间】:2021-08-21 17:04:49
【问题描述】:
我希望能够使用 Python 3.9 中的 glob 模块来匹配包含以下文件名的目录中的文件名:
- “MM05_awani3_StudentA.py”
- “MM05_liu127.py”
具体来说,我希望能够遍历目录中符合特定模式的所有文件。所以我想使用这样的for循环:
for file in current_path.glob("string"):
# do something
glob 模式 "MM05_submissions/MM05_*[a-z0-9]?(_Student[A-Z]).py" 似乎根据 DigitalOcean's glob tester tool 工作,但我没有得到Python 3.9 内的任何匹配项
- DigitalOcean 的测试仪上使用的 glob 是否与 Python 中的不同?
- 能否在 Python 中使用圆括号
()匹配可选组? - 如果不是,我是否应该使用 RegEx 之类的方法来遍历与目录中特定模式匹配的文件?
【问题讨论】:
-
Python 的
glob()函数并没有那么复杂。详见fnmatchmodule:不支持(...)分组。