Spaces:
Sleeping
Sleeping
File size: 705 Bytes
a5fd608 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import sys
from typing import Callable
class ActionRunner:
def __call__(self, default_method: str | Callable = None):
if len(sys.argv) > 1:
method = self._resolve_method(sys.argv[1])
else:
method = default_method
if type(method) == str:
method = self._resolve_method(method)
if method:
method()
else:
raise ValueError("没有指定要执行的方法")
def _resolve_method(self, method_name: str) -> Callable:
method = getattr(self, method_name, None)
if method is None:
raise ValueError(f"没有找到对应的方法:{method_name}")
return method
|