[00102]字符串开头或结尾匹配

字符串开头或结尾匹配

一、 解决问题

你需要通过指定的文本模式去检查字符串的开头或者结尾,比如文件名后缀,URL Scheme等等。

二、解决方案

string startswith()/endswith()
re.match
切片

三、代码说明

filename = 'spam.txt'

print (filename.endswith(".txt"))
print (filename.startswith('file:'))
# 如果想检测多个可能性,
#只需要将所有匹配项放入元组中,然后传递给startswith()或endswith()
# 必须传入一个tuple,list和set都不行
import os

# 获取当前目录下的所有文件
filenames = os.listdir(".")
f = (onefile for onefile in filenames if onefile.endswith((".c", ".h")))
print (list(f))
# 读取文件或者网络
from urllib.request import urlopen
def read_data(name):
    if name.startswith(("https:", "http:", "ftp:")):
        return urlopen(name).read()
    else:
        with oepn(name) as f:
            return f.read()
# 配置 数据聚合使用 (any , all)
if all(name.endswith(('.c', '.h')) for name in list(filenames)):
    print (True)
else:   
    print (False)

四、关联知识

五、总结

六、代码地址

github地址:https://github.com/weichen666/python_cookbook
目录/文件:first_selection/learn_str_startswith_endswith.py

七、参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值