代码如下:
1 #导包 2 import fileinput 3 import re 4 5 def readArw(): 6 7 for line in fileinput.input(r"G:/raw.txt"): #读取文件信息 raw.txt我的是存放在G盘 8 print(line) 9 10 def readIp(): 11 with open(r'G:/raw.txt', 'r') as f: # with open(文件名+操作方法+缓存时间/默认为0) 12 print("Name of the file: ", f.name) # 打印文件名 13 for line in f.readlines(): 14 result2 = re.findall('[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}',line) #匹配ip正则表达式方法一、 15 16 # result2 = re.findall(r'(?<![.d])(?:d{1,3}.){3}d{1,3}(?![.d])',line) #匹配ip正则表达式方法二、 17 if not result2 == []: 18 print(result2[0]) 19 result = result2[0] + ' ' 20 with open('arr_ip.txt', 'a+') as w: 21 w.write(result) 22 23 # #####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@日志信息部分@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 24 import logging 25 26 __all__ = ['logger'] 27 28 29 # create logger 创建日志 30 logger = logging.getLogger('Jackzz') 31 logger.setLevel(logging.DEBUG) 32 # create file handler which logs even debug messages 33 fh = logging.FileHandler('raw.log', mode='w') # NOTICE: this will clear the log file! 34 fh.setLevel(logging.DEBUG) 35 # create console handler with a higher log level 36 ch = logging.StreamHandler() 37 ch.setLevel(logging.INFO) 38 # create formatter and add it to the handlers 39 formatter = logging.Formatter('[%(asctime)s][%(name)s][%(levelname)s]: %(message)s') 40 fh.setFormatter(formatter) 41 ch.setFormatter(formatter) 42 # add the handlers to the logger 43 logger.addHandler(fh) 44 logger.addHandler(ch) 45 # logger.addFilter(fh) 46 # logger.addFilter(ch) 47 48 49 50 if __name__ == '__main__': 51 readArw()#执行 52 readIp()#执行def readIp()中定义的操作 53 logger.info('logger test') 54 # log = Logger('arw.log',level='debug') 55 # log.logger.debug('debug') 56 # log.logger.info('info') 57 # log.logger.warning('警告') 58 # log.logger.error('报错') 59 # log.logger.critical('严重') 60 # Logger('error.log', level='error').logger.error('error')