Python about the metaclass

花了好多天去理解unittest.main()和Base.metadata.create_all()的实现方式,如何在不实例化的情况下知道子类的信息?

以下为实验代码,详细参考《Python Cookbook(第3版)中文版》

class Metaclass(type):
    childs = []
    def __init__(self, clsname, bases, clsdict):
        super().__init__(clsname, bases, clsdict)
        self.childs.append(clsname)

class Base(metaclass=Metaclass):
    pass


class Tree1(Base):
    pass

class Tree2(Base):
    pass

if __name__ == '__main__':
    for c in Base.childs:
        print(c)

输出结果:

Base
Tree1
Tree2

Typora + OSS + Python,我实现了一个简单又自由的博文发布流程

原来的标题为:《Typora + 阿里云OSS,我用Python写了一个简单又自由的图床脚本》,重点在图床脚本。不过写到后面发现更像是一个图文发布流程,就改了一下标题,也确实如此。

Continue reading “Typora + OSS + Python,我实现了一个简单又自由的博文发布流程”