首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

glob()有否定吗?

在编程语言中,glob() 函数是一个用于匹配文件名的通配符函数。它可以匹配一个或多个文件名,并返回匹配的文件名列表。在大多数编程语言中,glob() 函数不支持否定匹配,即不能直接匹配不包含某些特定字符或字符串的文件名。

但是,您可以使用正则表达式或其他方法来实现否定匹配。例如,在 Python 中,您可以使用 fnmatch 模块中的 filter() 函数结合正则表达式来实现否定匹配。

以下是一个 Python 示例,演示如何使用 fnmatch.filter() 函数实现否定匹配:

代码语言:python
代码运行次数:0
复制
import fnmatch
import re

# 假设我们有以下文件列表
files = ['file1.txt', 'file2.txt', 'file3.py', 'file4.py', 'file5.jpg']

# 使用 fnmatch.filter() 函数匹配不包含 '.py' 的文件名
filtered_files = fnmatch.filter(files, '*[!(.py)]')

# 使用正则表达式进一步过滤文件名,只保留不包含 '.py' 的文件名
filtered_files = [f for f in filtered_files if not re.search('\.py$', f)]

print(filtered_files)

输出:

代码语言:txt
复制
['file1.txt', 'file2.txt', 'file5.jpg']

在这个示例中,我们使用了 fnmatch.filter() 函数来匹配不包含 .py 的文件名,然后使用正则表达式进一步过滤文件名,只保留不包含 .py 的文件名。

需要注意的是,这种方法并不是 glob() 函数的否定匹配,而是通过其他方法实现的。如果您需要使用否定匹配,可以考虑使用正则表达式或其他方法来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 有运维专家推荐吗?

    因为工作行业的原因,会有很多的同行或朋友找我推荐一些有运维经验的人,或者直接希望要运维专家。 最近我回顾了下这个事情,发现很奇怪的是,好像我一次都没有推荐成功过。...我琢磨了下,可能有这样几个原因: 第一个,运维范畴,就运维这个工种来说,其实也是有很大范畴的,比如IDC运维、主机运维、系统运维、网络运维、应用运维、运维开发、智能运维等等。...但是这种能力的承载,或者说对开发的运维能力的赋能,将成为运维这个角色的职责,需要能够有统一的基础平台建设提供支撑,所以我们会发现,当前我们更加需要能够帮助团队建设出高效运维体系的角色,而不再是能够被动响应更多问题的角色...这个能力的提升,也不是外面招几个人进来就解决问题的,关键还是有意识有规划的去做一些架构能力提升。...再往后,就需要对基础设施和基础服务有规划的建设,这个要求应该是提给系统架构师和业务架构师的,而不是提给运维角色。前面基础打不好,后面想让运维做好,这个没可能。

    1.9K30

    你有做 Code Review 吗?

    这里所说的 Code Review 是指人工的方式进行代码的检查,通常会给我们带来下面的一些好处: 编码风格可以保持一致,目前团队中虽然有编码规范的指引,但在代码抽查时,还是会看到很多「个性」的代码;...其实我们都知道 Code Review 的重要性,敏捷开发中的结对编程就包含了 Code Review ,但为什么却难以执行呢,我认为有下面一些原因: 项目急,时间紧,完成功能都需要加班加点,哪还有时间做...曾经有一个美好的设想就是利用 Merge Request ,让每个人都能参与进来,在 GitLab 中进行代码的讨论,但非常遗憾,最终没能执行起来。...上面说到 Merge Request 在团队中没有推行起来,但我个人还是在经常使用,我是代码合并的管理员之一,当合并代码时,我会重点关注两个方面: 1、核心代码的改动 当前功能的提交是否有必要修改到这些地方...快速出一版空方法后,再进行沟通和讨论,找出其中有遗漏和有问题的点,进行修改,最终的版本在大方向上基本是没什么问题的。

    88240
    领券