26 练习题:反射

# 用反射完成了
# python D:\Python\Python_Project\day27\03.作业.py cp path1 path2
# python D:\Python\Python_Project\day27\03.作业.py rm path
# python D:\Python\Python_Project\day27\03.作业.py mv path1 path2
import sys
import shutil
ins_box = sys.argv
class Operate_file:
    def __init__(self, ins_box):
        self.path1 = ins_box[0]
        if len(ins_box) == 2:
            self.path2 = ins_box[1]
    def cp(self):
        print('copy')
        # shutil.copy2(self.path1, self.path2)
    def rm(self):
        print('remove')
        # shutil.rmtree(self.path)
    def mv(self):
        print('move')
        # shutil.move(self.path1, self.path2)

file_obj = Operate_file(ins_box[2:])
if hasattr(file_obj, ins_box[1]):
    if callable(getattr(file_obj, ins_box[1])):
        getattr(file_obj, ins_box[1])()

猜你喜欢

转载自www.cnblogs.com/raygor/p/13378635.html
26