Python开发常用代码片段

平日常用代码片段备份

matplotlib中文乱码解决

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

执行tests目录下所有测试用例

import os
import unittest
import importlib


def load_test_case_classes(file_path, module_parent='tests'):
    """ load all test cases. """
    classes = {}
    for root, dirs, files in os.walk(file_path):
        for fn in files:
            name, ext = os.path.splitext(fn)
            if ext != '.py' or not name.startswith('test_'):
                continue

            # dynamic import && filter out
            module = importlib.import_module(f'{module_parent}.{name}')
            for k, v in module.__dict__.items():
                if (k.startswith('_') or
                        not isinstance(v, type) or
                        not issubclass(v, unittest.TestCase)):
                    continue
                classes[k] = v

    return classes


# Run all test cases.
path = os.path.dirname(os.path.abspath(__file__))
case_classes = load_test_case_classes(path)
globals().update(case_classes)
unittest.main()

猜你喜欢

转载自my.oschina.net/flywuya/blog/1816552