编程语言
首页 > 编程语言> > [python] 日常撸码小case

[python] 日常撸码小case

作者:互联网

处理log时遇到一些东东

对log 的处理

  1. 从第二行读起: for line in f.readlines()[1:]
  2. 最后一个元素是个带换行符以及双引号的str,怎么处理呢? .strip()去掉换行符, eval()去掉双引号
  3. 查找如果这一行中有 dip write,就详细分析,但会拿到 a_dip write,怎么办?
    3.1 求助了闪存哈哈哈,嗷神给了提示, 用startwith(), 于是 if dip write in line 改成了 if line.startswith('dip write')
  4. 需要将 size=10bgm=history 改写成dict
    4.1 urlparse 库可以轻松改dict:

    4.2 合并两个dict,summary = dict(a.items()+b.items())
     with open('/mnt/test_annie/test.log', 'r') as f:
            for line in f.readlines()[1:]:
            # for line in f.readlines():
                if line.startswith('dip write'):
                    useful_list = line.split(' ')
                    new_file_from_log = eval(useful_list[-1].strip())
                    for item in useful_list:
                        if '=' in item:
                            item = dict(urlparse.parse_qsl(item))
                            checkpoint_log = dict(checkpoint_log.items() + item.items())

标签:case,log,python,write,item,dict,日常,line,dip
来源: https://www.cnblogs.com/vivivi/p/12111634.html