代码如下:

  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] + '\n'
  20. with open('arr_ip.txt', 'a+') as w:
  21. w.write(result)
  22.  
  23. # #####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@日志信息部分@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  24. import logging
  25.  
  26. __all__ = ['logger']
  27.  
  28. # create logger 创建日志
  29. logger = logging.getLogger('Jackzz')
  30. logger.setLevel(logging.DEBUG)
  31. # create file handler which logs even debug messages
  32. fh = logging.FileHandler('raw.log', mode='w') # NOTICE: this will clear the log file!
  33. fh.setLevel(logging.DEBUG)
  34. # create console handler with a higher log level
  35. ch = logging.StreamHandler()
  36. ch.setLevel(logging.INFO)
  37. # create formatter and add it to the handlers
  38. formatter = logging.Formatter('[%(asctime)s][%(name)s][%(levelname)s]: %(message)s')
  39. fh.setFormatter(formatter)
  40. ch.setFormatter(formatter)
  41. # add the handlers to the logger
  42. logger.addHandler(fh)
  43. logger.addHandler(ch)
  44. # logger.addFilter(fh)
  45. # logger.addFilter(ch)
  46.  
  47. if __name__ == '__main__':
  48. readArw()#执行
  49. readIp()#执行def readIp()中定义的操作
  50. logger.info('logger test')
  51. # log = Logger('arw.log',level='debug')
  52. # log.logger.debug('debug')
  53. # log.logger.info('info')
  54. # log.logger.warning('警告')
  55. # log.logger.error('报错')
  56. # log.logger.critical('严重')
  57. # Logger('error.log', level='error').logger.error('error')

python读取文件内的IP信息 练习的更多相关文章

  1. python读取文件首行和最后一行

    python读取文件最后一行两种方式 1)常规方法:从前往后依次读取 步骤:open打开文件. 读取文件,把文件所有行读入内存. 遍历所有行,提取指定行的数据. 优点:简单,方便 缺点:当文件大了以后 ...

  2. python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multibyte sequence

    python读取文件时提示"UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal m ...

  3. 解决 python 读取文件乱码问题(UnicodeDecodeError)

    解决 python 读取文件乱码问题(UnicodeDecodeError) 确定你的文件的编码,下面的代码将以'utf-8'为例,否则会忽略编码错误导致输出乱码 解决方案一 with open(r' ...

  4. python 读取文件read.csv报错 OSError: Initializing from file failed

    小编在用python 读取文件read.csv的时候 报了一个错误 OSError: Initializing from file failed 初始化 文件失败 检查了文件路径,没问题 那应该是我文 ...

  5. python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib

    python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib ...

  6. Python 读取文件中unicode编码转成中文显示问题

    Python读取文件中的字符串已经是unicode编码,如:\u53eb\u6211,需要转换成中文时有两种方式 1.使用eval: eval("u"+"\'" ...

  7. python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件

    python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...

  8. 【python】python读取文件报错UnicodeDecodeError: 'gbk' codec can't decode byte 0xac in position 2: illegal multibyte sequence

    python读取文件报错UnicodeDecodeError: 'gbk' codec can't decode byte 0xac in position 2: illegal multibyte ...

  9. python 读取文件时报错: UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 127: illegal multibyte sequence

    UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 127: illegal multibyte sequence p ...

随机推荐

  1. 028实现strStr()

    #pragma once #include "000库函数.h" /*********************自解**************/ //使用算法中的find 12ms ...

  2. java实现支付宝支付及退款(二)

    紧跟上篇博客,本篇将书写具体的代码实现 开发环境:SSM.maven.JDK8.0 1.Maven坐标 <!--阿里支付--> <dependency> <groupId ...

  3. 汲取营养的blog专栏

    网路上博客专栏是学习提升.思考深化的好途径,目前发现的博客价值高的平台: (1)EETOP www.eetop.cn (2)CSND www.csdn.net (3)cnblog www.cnblog ...

  4. spring的基于XML方式的属性注入

    1.掌握spring的属性注入的方法: 1.1构造方法注入普通值---------<constructor-arg>标签的使用 首先新建一个类 package spring.day1.de ...

  5. JAVA 多线程环境下的静态方法

    第一: 程序运行的时候,JVM内存主要由以下部分组成: 堆: 所有线程共享一个堆,在 Java 虚拟机中,堆(Heap)是可供各条线程共享的运行时内存区域,也是供所有类实例和数组对象分配内存的区域. ...

  6. Loj #6069. 「2017 山东一轮集训 Day4」塔

    Loj #6069. 「2017 山东一轮集训 Day4」塔 题目描述 现在有一条 $ [1, l] $ 的数轴,要在上面造 $ n $ 座塔,每座塔的坐标要两两不同,且为整点. 塔有编号,且每座塔都 ...

  7. Linux操作系统有什么吸引力,在程序员中这么受欢迎?

    Linux操作系统有什么吸引力,在程序员中这么受欢迎? 在过去的几十年里,操作系统已经取得了很大的进步.曾经由微软Windows或苹果MacOS主导的操作系统,如今已不再是常态.千禧年之后,随着人们对 ...

  8. c# 链接mongDB集群实战开发3

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zuoming120/article/details/25702295 c# 链接mongDB集群 一 ...

  9. Android中Bitmap对象和字节流之间的相互转换

    android 将图片内容解析成字节数组,将字节数组转换为ImageView可调用的Bitmap对象,图片缩放,把字节数组保存为一个文件,把Bitmap转Byte   import java.io.B ...

  10. ③---Java项目管理工具MAVEN安装与配置

    Java项目管理工具MAVEN安装配置以下将为大家介绍Java项目管理工具MAVEN安装及其配置. 一.下载MAVEN安装文件 maven下载地址:https://maven.apache.org/d ...