欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

對python 匹配字符串開頭和結尾的方法詳解

 更新時間:2018年10月27日 09:14:09   作者:楓葉千言  
今天小編就為大家分享一篇對python 匹配字符串開頭和結尾的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1、你需要通過指定的文本模式去檢查字符串的開頭或者結尾,比如文件名后綴,URL Scheme 等等。檢 查 字 符 串 開 頭 或 結 尾 的 一 個 簡 單 方 法 是 使 用str.startswith() 或 者 是str.endswith()方法。比如:

>>> filename = 'spam.txt'
>>> filename.endswith('.txt')
True
>>> filename.startswith('file:')
False
>>> url = 'http://www.python.org'
>>> url.startswith('http:')
True
>>> 

2、如果你想檢查多種匹配可能,只需要將所有的匹配項放入到一個元組中去,然后傳給 startswith()或者 endswith() 方法:

>>> import os
>>> filenames = os.listdir('.')
>>> filenames
[ 'Makefile', 'foo.c', 'bar.py', 'spam.c', 'spam.h' ]
>>> [name for name in filenames if name.endswith(('.c', '.h')) ]
['foo.c', 'spam.c', 'spam.h'
>>> any(name.endswith('.py') for name in filenames)
True
>>>
 
#示例2
from urllib.request import urlopen
def read_data(name):
 if name.startswith(('http:', 'https:', 'ftp:')):
 return urlopen(name).read()
 else:
 with open(name) as f:
  return f.read() 

奇怪的是,這個方法中必須要輸入一個元組作為參數(shù)。如果你恰巧有一個list 或者 set類型的選擇項,要確保傳遞參數(shù)前先調用 tuple()將其轉換為元組類型。比如:

>>> choices = ['http:', 'ftp:']
>>> url = 'http://www.python.org'
>>> url.startswith(choices)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: startswith first arg must be str or a tuple of str, not list
>>> url.startswith(tuple(choices))
True
>>>

3、startswith() 和 endswith() 方法提供了一個非常方便的方式去做字符串開頭和結尾的檢查。類似的操作也可以使用切片來實現(xiàn),但是代碼看起來沒有那么優(yōu)雅。比如:

>>> filename = 'spam.txt'
>>> filename[-4:] == '.txt'
True
>>> url = 'http://www.python.org'
>>> url[:5] == 'http:' or url[:6] == 'https:' or url[:4] == 'ftp:'
True
>>>

4、你可以能還想使用正則表達式去實現(xiàn),比如:

>>> import re
>>> url = 'http://www.python.org'
>>> re.match('http:jhttps:jftp:', url)
<_sre.SRE_Match object at 0x101253098>
>>>

5、當和其他操作比如普通數(shù)據(jù)聚合相結合的時候 startswith()和endswith() 方法是很不錯的。比如,下面這個語句檢查某個文件夾中是否存在指定的文件類型:

if any(name.endswith(('.c', '.h')) for name in listdir(dirname)):
...

以上這篇對python 匹配字符串開頭和結尾的方法詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • python類繼承用法實例分析

    python類繼承用法實例分析

    這篇文章主要介紹了python類繼承用法,實例分析了Python類的定義與類繼承的實現(xiàn)技巧,需要的朋友可以參考下
    2015-05-05
  • python3.0 模擬用戶登錄,三次錯誤鎖定的實例

    python3.0 模擬用戶登錄,三次錯誤鎖定的實例

    下面小編就為大家?guī)硪黄猵ython3.0 模擬用戶登錄,三次錯誤鎖定的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Python3中的re.findall()方法及re.compile()

    Python3中的re.findall()方法及re.compile()

    這篇文章主要介紹了Python3中的re.findall()方法及re.compile(),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 詳解使用 pyenv 管理多個版本 python 環(huán)境

    詳解使用 pyenv 管理多個版本 python 環(huán)境

    本篇文章主要介紹了詳解使用 pyenv 管理多個版本 python 環(huán)境,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • python rsa 加密解密

    python rsa 加密解密

    本篇文章主要介紹了python rsa加密解密 (編解碼,base64編解碼)的相關知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-03-03
  • Python爬蟲之Selenium實現(xiàn)鍵盤事件

    Python爬蟲之Selenium實現(xiàn)鍵盤事件

    這篇文章主要介紹了Python爬蟲之Selenium實現(xiàn)鍵盤事件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • django 使用 request 獲取瀏覽器發(fā)送的參數(shù)示例代碼

    django 使用 request 獲取瀏覽器發(fā)送的參數(shù)示例代碼

    這篇文章主要介紹了django 使用 request 獲取瀏覽器發(fā)送的參數(shù)示例代碼,獲取數(shù)據(jù)有四種方式,具體內(nèi)容詳情大家跟隨腳本之家小編一起看看吧
    2018-06-06
  • Python中random函數(shù)的用法整理大全

    Python中random函數(shù)的用法整理大全

    random庫是使用隨機數(shù)的Python標準庫,random庫主要用于生成隨機數(shù),下面這篇文章主要給大家介紹了關于Python?random函數(shù)用法的相關資料,文中通過圖文以及實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • Pytorch?PyG實現(xiàn)EdgePool圖分類

    Pytorch?PyG實現(xiàn)EdgePool圖分類

    這篇文章主要為大家介紹了Pytorch?PyG實現(xiàn)EdgePool圖分類示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • python/golang實現(xiàn)循環(huán)鏈表的示例代碼

    python/golang實現(xiàn)循環(huán)鏈表的示例代碼

    這篇文章主要介紹了python/golang如何實現(xiàn)循環(huán)鏈表,幫助大家更好的理解和學習循環(huán)鏈表的實現(xiàn)方法,感興趣的朋友可以了解下
    2020-09-09

最新評論