命令模式

#!/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()

  

原文地址:https://www.cnblogs.com/chenadong/p/10473958.html