Python endswith()函數(shù)的具體使用
endwith() 可以「判斷」字符串是否以指定內(nèi)容「結(jié)尾」。
語法
string.endwith( str, start, end )
參數(shù)
- str :(必選,字符串或元組)指定字符串或元素
- start :(可選)開始的索引,默認(rèn)值0
- end :(可選)結(jié)束的索引,默認(rèn)值-1
返回值
- 以指定內(nèi)容結(jié)尾返回 True
- 不以指定內(nèi)容結(jié)尾返回 False
實(shí)例:判斷字符串是否以 ‘world’ 結(jié)尾
print('hello world'.endswith('world'))輸出:
True
1、指定范圍
設(shè)置開始和結(jié)束的「索引」來指定范圍,索引從0開始。
只設(shè)置「開始」的索引,默認(rèn)檢查到字符串末尾,即[start,末尾]
print('hello world'.endswith('world', 1))輸出:
True
同時(shí)設(shè)置「開始」、「結(jié)束」的索引,可以檢測字符串的某個(gè)范圍內(nèi)是否以指定內(nèi)容結(jié)尾。
print('hello world'.endswith('world', 0, 5))輸出:
False
從輸出結(jié)果可以發(fā)現(xiàn),字符串(0~5)索引是‘hello ’,不以‘world’結(jié)尾,所以返回False。
除了在 endwith() 參數(shù)中設(shè)置索引,還可以通過字符串的索引來指定范圍
print('hello world'[0:5].endswith('world'))輸出:
False
2、str可以傳入元組
str 參數(shù)只能是字符串或者元祖(元素都是字符串類型),否則會(huì)報(bào)錯(cuò) TypeError: endswith first arg must be str or a tuple of str

傳入元素都是字符串的類型的「元祖」,會(huì)自動(dòng)遍歷并判斷字符串是否以元組中的元素結(jié)尾,只要滿足一個(gè),就返回True;全部不滿足,就返回False。
print('hello world'.endswith(('world', 'a')))
print('hello world'.endswith(('b', 'a')))輸出:
True
False
實(shí)例:文件后綴名黑名單
file_name = 'shell.php'
if file_name.endswith(('php', 'jsp', 'asp')):
print('被禁止的文件類型,請重新上傳')
else:
print('上傳成功')如果只有「列表」,可以轉(zhuǎn)成數(shù)組再判斷
list1 = ['world', 'a', 'b']
tuple1 = tuple(list1)
print('hello world'.endswith(tuple1))輸出:
True
3、空字符串為真
判斷字符串是否以 空字符串""結(jié)尾時(shí),會(huì)返回True。
print('hello world'.endswith(''))
print('*&ab31'.endswith(''))輸出:
True
True
「空格」就不行了,會(huì)返回False
print('hello world'.endswith(' '))輸出:
False
4、大小寫敏感
endwith() 判斷時(shí),區(qū)分「大小寫」,這導(dǎo)致我們匹配不到一些文件后綴名,比如下面這樣會(huì)返回False
file_name = 'shell.PHP'
print(file_name.endswith('php'))輸出:
False
我們可以先 lower() 轉(zhuǎn)成小寫,再進(jìn)行判斷
file_name = 'shell.pHp'
print(file_name.lower().endswith('php'))輸出:
True
到此這篇關(guān)于Python endswith()函數(shù)的具體使用的文章就介紹到這了,更多相關(guān)Python endswith()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決每次打開pycharm直接進(jìn)入項(xiàng)目的問題
今天小編就為大家分享一篇解決每次打開pycharm直接進(jìn)入項(xiàng)目的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
Python中單引號(hào)、雙引號(hào)和三引號(hào)具體的用法及注意點(diǎn)
這篇文章主要給大家介紹了關(guān)于Python中單引號(hào)、雙引號(hào)和三引號(hào)具體的用法及注意點(diǎn)的相關(guān)資料,Python中單引號(hào)、雙引號(hào)、三引號(hào)中使用常常困惑,想弄明白這三者相同點(diǎn)和不同點(diǎn),需要的朋友可以參考下2023-07-07
Python通過select實(shí)現(xiàn)異步IO的方法
這篇文章主要介紹了Python通過select實(shí)現(xiàn)異步IO的方法,實(shí)例分析了Python中select模塊的使用技巧,需要的朋友可以參考下2015-06-06
自定義Django Form中choicefield下拉菜單選取數(shù)據(jù)庫內(nèi)容實(shí)例
這篇文章主要介紹了自定義Django Form中choicefield下拉菜單選取數(shù)據(jù)庫內(nèi)容實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python利用字節(jié)串或字節(jié)數(shù)組來加載和保存PDF文檔
處理PDF文件的可以直接讀取和寫入文件系統(tǒng)中的PDF文件,然而,通過字節(jié)串(byte string)或字節(jié)數(shù)組(byte array)來加載和保存PDF文檔在某些情況下更高效,本文將介紹如何使用Python通過字節(jié)串或字節(jié)數(shù)組來加載和保存PDF文檔,需要的朋友可以參考下2024-09-09
pyspark創(chuàng)建DataFrame的幾種方法
為了便于操作,使用pyspark時(shí)我們通常將數(shù)據(jù)轉(zhuǎn)為DataFrame的形式來完成清洗和分析動(dòng)作。那么你知道pyspark創(chuàng)建DataFrame有幾種方法嗎,下面就一起來了解一下2021-05-05
Python教程pandas數(shù)據(jù)分析去重復(fù)值
Pandas指定行進(jìn)行去重更新值,加載數(shù)據(jù)sample抽樣函數(shù),指定需要更新的值append直接添加append函數(shù)用法,根據(jù)某一列key值進(jìn)行去重key唯一2021-09-09
Python matplotlib畫圖與中文設(shè)置操作實(shí)例分析
這篇文章主要介紹了Python matplotlib畫圖與中文設(shè)置操作,結(jié)合實(shí)例形式分析了Python使用matplotlib進(jìn)行圖形繪制及中文設(shè)置相關(guān)操作技巧,需要的朋友可以參考下2019-04-04
Python實(shí)現(xiàn)向QQ群成員自動(dòng)發(fā)郵件的方法
這篇文章主要介紹了Python實(shí)現(xiàn)向QQ群成員自動(dòng)發(fā)郵件的方法,通過讀取txt文本里的QQ成員數(shù)據(jù)再調(diào)用發(fā)送郵件函數(shù)實(shí)現(xiàn)該功能,是非常實(shí)用的技巧,需要的朋友可以參考下2014-11-11

