Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python上解析.TXT文件中的IP地址_Python_Parsing_Slice - Fatal编程技术网

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

在Python上解析.TXT文件中的IP地址,python,parsing,slice,Python,Parsing,Slice,因此,我试图从一个.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-rtr00

因此,我试图从一个.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] 

在您的情况下,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\u part=line[32:][/code>获取包含域名和IP地址的部分。然后需要检查此零件中是否有括号(或空格)。如果没有,请打印
最后一部分
,否则请使用
.split()
.strip()
.index()
并进行拼接,以获得括号之间的部分并打印它。

在您的情况下,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\u part=line[32:][/code>获取包含域名和IP地址的部分。然后需要检查此零件中是否有括号(或空格)。如果没有,则打印
最后一部分
,否则使用
.split()
.strip()
.index()
和拼接,以获得括号之间的部分并打印它。

使用正则表达式:

import re 

self.proxy_list = []
for line in open(file, "r+").readlines():
      pattern = re.compile(r'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{2,5})') `enter 
      self.proxy_list.append(pattern.search(line)[0])    

使用正则表达式:

import re 

self.proxy_list = []
for line in open(file, "r+").readlines():
      pattern = re.compile(r'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{2,5})') `enter 
      self.proxy_list.append(pattern.search(line)[0])    

请把你的代码贴出来…把文件读成行,或者把整个内容分成行。无论哪种方式,您都会得到一个行列表。然后使用for循环遍历该列表,并使用python字符串副本获取IP,因为它总是从固定位置开始。所以,展示一些代码,我们将帮助您修复它。请发布您的代码…以行的形式阅读文件,或者阅读整个内容,分成行。无论哪种方式,您都会得到一个行列表。然后使用for循环遍历该列表,并使用python字符串副本获取IP,因为它总是从固定位置开始。所以,展示一些代码,我们将帮助您修复它。