[python] 日常撸码小case

Posted vivi~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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())

对dir 的处理

  1. 用 instance.files.keys() 来获取路径下所有的files的path
  2. 用 sorted(instance.files.keys())[-1]来获取最新file的path
  3. 用 os.path.getsize(file_path)来获取file的size
new_file_path = sorted(self.instance.files.keys())[-1]
new_file_size = os.path.getsize(new_file_path)

log 的存储

    cls.fh = logging.FileHandler(\'/mnt/test_annie/test.log\')
    cls.instance.logger.addHandler(cls.fh)

以上是关于[python] 日常撸码小case的主要内容,如果未能解决你的问题,请参考以下文章

30 个 IDEA 常用小技巧,应有尽有,让你的撸码效率直接起飞...

在创建VSCode片段时,如何将变量转换为title-case(如TitleCase)?

译文:18个实用的JavaScript代码片段,助你快速处理日常编程任务

Java生成验证码小工具

爱码小士丨代码一敲十年,收入虽高前途摇摆

yii2 修改验证码小部件样式