一尘不染

在Linux上忽略glob()中的大小写

linux

我正在编写一个脚本,该脚本必须在Windows和Linux用户都手动修改过的目录上工作。Windows用户在分配文件名时往往根本不关心大小写。

有没有办法在Python的Linux端处理此问题,即我能否获得不区分大小写,类似glob的行为?


阅读 423

收藏
2020-06-03

共1个答案

一尘不染

使用不区分大小写的正则表达式而不是glob模式。fnmatch.translate从全局模式生成正则表达式,因此

re.compile(fnmatch.translate(pattern), re.IGNORECASE)

为您提供了不区分大小写的glob模式版本,作为已编译RE。

请记住,如果文件系统是由一台Linux机器上托管一个类Unix文件系统,用户将能够创建文件fooFooFOO在同一目录下。

2020-06-03