簡體   English   中英

刪除IP地址的最后一個八位位組

[英]Deleting the last octets of an IP address

這是我的代碼:

ip = ("192.143.234.543/23 
       192.143.234.5/23 
       192.143.234.23/23")

separateOct = (".")
ipNo4Oct = line.split(separateOct, 1) [0] 
print (ipNo4Oct)

IP來自文本文件,我已經完成了for循環。

我得到的結果是:

192
192
192

但是我想要這個結果:

192.143.234
192.143.234
192.143.234

我如何獲得想要的結果?

您可以使用幾乎相同的代碼,並進行切片和join

>>> ipNo4Oct = ip.split(separateOct) [0:3]
>>> '.'.join(ipNo4Oct)
'192.143.234'

或對於整個字符串(考慮到可以按照代碼提示將其拆分為幾行):

>>> for line in ip:
        ipNo4Oct = line.split(separateOct) [0:3]
        '.'.join(ipNo4Oct)

'192.143.234'
'192.143.234'
'192.143.234'

ip = ("192.143.234.543/23",
       "192.143.234.5/23",
       "192.143.234.23/23")

for line in ip:
    separator = "."
    ipNo4Oct = separator.join(line.split(separator, 3)[:-1])
    print (ipNo4Oct)

您可以使用分隔符重新加入3個部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM