在Python上解析.TXT文件中的IP地址

2024-10-03 21:26:38 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我尝试从a.txt中获取所有IP地址,并将它们打印到一个新的文本文件中,在Python上每行一个

文本看起来像这样

  1    <1 ms    <1 ms    <1 ms  192.168.0.1  
  2    47 ms    14 ms    27 ms  cpe-67-254-0-1.nycap.res.rr.com [67.254.0.1]  
  3    30 ms    29 ms    21 ms  g3-27.glvlny09-rtr001.albany.rr.com  [24.29.45.249]  
  4    26 ms    12 ms    11 ms  24.58.33.254  
  5    19 ms    19 ms    19 ms  be26.rochnyei01r.northeast.rr.com [24.58.32.52]  
  6    33 ms    35 ms    35 ms  bu-ether45.chcgildt87w-bcr00.tbone.rr.com [107.14.19.106]  
  7    31 ms    30 ms    31 ms  0.ae1.pr1.chi10.tbone.rr.com [107.14.17.194]  
  8    32 ms    30 ms    44 ms  216.1.94.65  
  9    39 ms    38 ms    40 ms  207.88.13.128.ptr.us.xo.net [207.88.13.128]  
 10    38 ms    43 ms    37 ms  207.88.12.167.ptr.us.xo.net [207.88.12.167]  
 11    36 ms    39 ms    37 ms  207.88.14.181.ptr.us.xo.net [207.88.14.181]  
 12   176 ms   153 ms   147 ms  209.48.42.54  
 13    43 ms    43 ms    43 ms  216.239.46.248  
 14    43 ms    44 ms    46 ms  72.14.236.98  
 15    51 ms    48 ms    50 ms  72.14.232.73  
 16    60 ms    60 ms    58 ms  216.239.47.39  
 17    67 ms    75 ms    69 ms  216.239.59.82  
 18   100 ms    97 ms    98 ms  216.239.41.138  
 19    99 ms    98 ms   100 ms  64.233.174.191  
 20   101 ms   100 ms    99 ms  209.85.241.73  
 21   100 ms    98 ms    99 ms  lax17s04-in-f14.1e100.net [216.58.219.46] 

我被告知要使用拼接,但我写了大约4次代码,似乎没有任何效果,类似的问题也在这里,但我不能让他们发挥作用

任何方向感都会有帮助!在

这就是我目前所拥有的

^{pr2}$

Tags: 文本txtcomnetrrresmsus
1条回答
网友
1楼 · 发布于 2024-10-03 21:26:38

在您的情况下,IP地址似乎总是在最后一列中,因此这应该足够了:

with open('file.txt', 'r') as f:
    for line in f:
        cols = line.split() # split line at whitespace
        ip = cols[-1] # get last column
        ip = ip.strip('[]') # remove brackets
        print(ip) # print the IP address

如果确实需要使用拼接,可以使用last_part = line[32:]来获取包含域名和IP地址的部分。然后你需要检查这个部分是否有一个括号(或空格)。如果没有,请打印last_part,否则使用.split().strip()或{}并拼接以获得括号之间的部分并打印它。在

相关问题 更多 >