最近在寫乙個ip比對程式,或者說是ip查詢程式那咱就慢慢改進
多執行緒以後再說,最近在gitlab上獲得了乙份2023年2月份的ip分布表,形式類似於(首ip+末ip+地理位置)的格式,那就用這個現成的ip分布表來解決慢速的問題。
如果不使用ip分布表,那就必須對每個ip進行網路爬蟲來獲得地理位置(那個真的很占用網路資源,而且很慢)那麼當我們使用了ip分布表之後就可以不使用爬蟲,直接在ip分布表進行查詢,優點是查詢很快,缺點也有,那就是位置資訊不詳細,而且ip分布表需要不斷更新。
那麼如果我們把這兩種方式結合起來,那麼這個程式會得到很好的優化。
先對ip分布表處理
我們獲得的ip格式是————>***.***.***.***
但ip分布表的格式是————>***.***.***.*** |***.***.***.*** | 地理位置
今天現實現乙個簡單任務——>就是把「|「去掉
思路
1.找到每一行的第乙個「|「
2.儲存「|「前面的字元查串,捨去「|「,儲存後面的字串
3.使用後面的字串繼續找「|「,儲存「|「前面的字串
4.捨去「|「,儲存後面的字串
f = open("ip_local.txt")
f1 = open("adre.txt","w")
num = 0
while (num
<33117):
a = f.readline()[:-1]
dele_adre = a.index("|")
ip_1 = a[0:dele_adre]
line_change = a[dele_adre+1:]
dele_adre_2 = line_change.index("|")
ip_2 = line_change[0:dele_adre_2]
adre = line_change[dele_adre_2+1:]
num = num+1
str1 = ip_1 + " " + ip_2 + " " adre
print >> f1.str1
f.close()
f1.close()
截圖如下
待更
Pyhton 正則替換字串指定內容
top 正規表示式的sub模組,只能能提供正常全匹配,並進行替換。但有時我們需要精確匹配的時候就有點不太適用,比如 my friend and my friendship 我z只是想替換掉 my friend 的時候,可以使用正則 r my friend w 的檢索來精確找到 my friend 但...
字串處理 字串反轉
請原諒博主今天很閒,於是乎博主又開始更新微博了。這次要更新的問題是 編寫乙個函式,反轉乙個單詞的順序。例如 do or do not,there is no try.就要反轉成 try.no is there not,do or do 大家要認真看看這道題,這道題和大家想象的貌似有點不同。首先字串反...
字串處理
uncode與ansi字串轉換 我們使用windows函式multibytetowidechar將多位元組字串轉換成寬字元字串。函式如下 int multibytetowidechar uintcodepage dworddwflags lpcstrlpmultibytestr intcbmulti...