這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)Python中怎么判斷一個url是否以http開頭,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
比如一個文本test.txt,里面的內(nèi)容為:
/tupian/20230522/ this is a url this is /tupian/20230522/ address
第一種方式是,判斷包含:
#encoding: utf-8 with open("test.txt", "r") as f: content = f.readlines() for line in content: if "http" in line: print(line)
輸出為:
/tupian/20230522/ this is /tupian/20230522/ address
如果只獲取以http開頭的,那么:
#encoding: utf-8 import re with open("test.txt", "r") as f: content = f.readlines() for line in content: r = re.match("http", line) if r != None: print(line)
輸出為:
/tupian/20230522/
re.match, 從開頭匹配字符串,如果匹配到返回匹配到的對象。沒有匹配到返回None。
有沒有更簡單的方式呢?
#encoding: utf-8 with open("test.txt", "r") as f: content = f.readlines() for line in content: if line.startswith("http"): print(line)
同樣輸出為:
/tupian/20230522/
既然有startswith,那么有沒有判斷結(jié)尾的呢?
答案是當(dāng)然的。
#encoding: utf-8 with open("test.txt", "r") as f: content = f.readlines() for line in content: if line.replace("\n","").endswith("com"): print(line)
這里要注意的是,每行結(jié)束會有一個換行符,因此要替換掉。
雖然從代碼行數(shù)上,區(qū)別不是太大,但是從方法名稱的理解上,startswith和endswith,更容易一些。
如果要匹配多個字符怎么辦?
比如文本內(nèi)容為:
/tupian/20230522/ this is a url this is /tupian/20230522/ address ftp://www.sogou.com
#encoding: utf-8 with open("test.txt", "r") as f: content = f.readlines() for line in content: if line.startswith(("http", "ftp")): print(line)
只需要傳參數(shù)為元組,包含要匹配的字串即可。
上述就是小編為大家分享的Python中怎么判斷一個url是否以http開頭了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。
新聞標(biāo)題:Python中怎么判斷一個url是否以http開頭-創(chuàng)新互聯(lián)
鏈接分享:http://chinadenli.net/article34/dgghse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、品牌網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、移動網(wǎng)站建設(shè)、定制網(wǎng)站、App設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容