Python 的 glob 模块中的 Unix glob 样式模式是否区分大小写?

Nic*_*las 6 python unix glob python-3.x

我不熟悉全局模式​​样式,根据本教程,它说glob区分大小写。

然而,当我使用globPython中的模块时,它似乎glob.glob('./M*')返回glob.glob('./m*')相同的结果,也就是说,Pythonglob是区分大小写的,见下文(我将结果一起打印以确保它们是串联执行的),

在此输入图像描述

如何区分大写和小写?为此我是否必须诉诸字符串方法?

Goo*_*ies 5

从glob 源代码中,您可以看到它使用了os.path.lexists后端的 which (如果不可用则lstat回退到)。其本身不会改变大小写敏感性。这是由文件所在的文件系统决定的。os.path.existslstatglob

[aarcher@Arch]: /tmp/test>$ rm -rf * && touch moo
[aarcher@Arch]: /tmp/test>$ python -q
>>> import glob
>>> glob.glob("m*")
['moo']
>>> glob.glob("M*")
[]
>>> 
Run Code Online (Sandbox Code Playgroud)