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

标签 python linux

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

有没有办法在 Python 的 Linux 端处理这个问题,即我可以得到一个不区分大小写的、类似 glob 的行为吗?

最佳答案

您可以将每个字母字符 c 替换为 [cC],通过

import glob
def insensitive_glob(pattern):
    def either(c):
        return '[%s%s]' % (c.lower(), c.upper()) if c.isalpha() else c
    return glob.glob(''.join(map(either, pattern)))

关于python - 在 Linux 上忽略 glob() 中的大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8151300/

相关文章:

python - 为什么某些 Python 函数在参数列表周围有一组额外的括号?

Python 在使用 Scapy 创建空 pcap 文件时抑制警告

linux - 如何使用 VMX 暂停和恢复虚拟机

android - 使用 Freetype2 为 ARM 构建 FFmpeg

Python模块搜索路径问题

python - Tensorflow 对象检测示例 : TypeError: '<' not supported between instances of 'tuple' and 'str'

python - 在cython中用函数指针作为模板参数包装C++代码

linux - 从任何(非特定)目录运行 shell 脚本

c - 什么可能导致死循环,由 linux 内核中的 print "Dead loop on virtual device "指示?

linux - 按修改时间对文件(包括所有子目录中的文件)进行排序