#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/3/4 22:51 # @Author : ChenAdong # @email : aiswell@foxmail.com import os class Command: def __init__(self, origin_name, new_name): self.origin_name = origin_name self.new_name = new_name def execute(self): self() def __call__(self, *args, **kwargs): os.system("rename %s %s" % (self.origin_name, self.new_name)) def undo(self): os.system("rename %s %s" % (self.new_name, self.origin_name)) if __name__ == "__main__": cmd = Command("a.txt", "b.txt") cmd.execute() cmd.undo()