千家信息网

python中怎么利用shell通配符匹配字符串

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家介绍python中怎么利用shell通配符匹配字符串,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。shell通配符匹配字符串想用Unix Shell通配符(*.py
千家信息网最后更新 2026年11月01日python中怎么利用shell通配符匹配字符串

这篇文章给大家介绍python中怎么利用shell通配符匹配字符串,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。


shell通配符匹配字符串

想用Unix Shell通配符(*.py,*.csv)匹配字符串。

fnmatch 模块提供了两个函数--fnmatch() 和 fnmatchcase() ,可以用来实现这样的匹配。用法如下:

>>> from fnmatch import fnmatch,fnmatchcase
>>> fnmatchcase("python.py","*.py")
True
>>> names = ["hello.py","python.py","1.txt",'helloC.c']
>>> names
['hello.py', 'python.py', '1.txt', 'helloC.c']
>>> [name for name in names if fnmatchcase(name,"*.py")]
['hello.py', 'python.py']

这两个函数在处理非文件名的字符串时候也是很有用的。比如,假设你有一个街道地址的列表数据:

>>> addresses = [
'5412 N CLARK ST',
'1060 W ADDISON ST',
'1039 W GRANVILLE AVE',
'2122 N CLARK ST',
'4802 N BROADWAY',
]
>>> result = [place for place in addresses if fnmatchcase(place,"*ST")] #ST结尾
>>> result
['5412 N CLARK ST', '1060 W ADDISON ST', '2122 N CLARK ST']
>>> result = [place for place in addresses if fnmatchcase(place,"54[1-9][1-9]*CLARK*ST")]
>>> result #54开头包含CLARK
['5412 N CLARK ST']

关于python中怎么利用shell通配符匹配字符串就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

字符 字符串 通配符 两个 内容 函数 更多 帮助 不错 兴趣 地址 小伙 小伙伴 开头 数据 文件 文件名 文章 时候 有用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司简介 亿人帮互联网科技有限公司 山东特亿宝互联网科技有限公司 互联网科技产业 北京路客互联网科技有限公司 麻工互联网科技 科技与互联网发展 合肥互联网科技公司 互联网科技论文 唐信互联网科技 大连 互联网科技素材视频竖屏 中国科技互联网公司收入 昭通云南众福互联网科技有限公司 互联网对科技的发展 宝灵互联网科技有限公司 杭州壁岐互联网科技有限公司 苏州铭阳互联网科技有限公司 民营互联网公司国防科技 浙南科技城互联网大厦建设工程 网互联网络科技 全球顶尖互联网科技公司 新兴科技互联网创新大赛颁奖典礼 电子科技大学互联网创业大赛 佛山市翊博互联网络科技有限公司 特约风豹互联网科技为什么扣费 世界互联网领先科技成果获奖 黑云互联网科技有限公司 抖集互联网科技技术咨询 珠海东科互联网科技有限公司 云鲸互联网络科技有限公司
0