PythonFirelike,通过终端UI/GUI请求函数参数,确保类型注释。阅读更多:https://github.com/ClericPy/ask4args。

ask4args的Python项目详细描述


Ask4args

通过终端UI/GUI请求函数参数,确保类型注释。灵感来自python-fire,它可能需要一个人性化的交互式UI。在

安装

pip install ask4args -U

简单用法

python3 -m ask4args module:function

终端用户界面

demo.gif

图形用户界面

demo2.png

更多用法示例

fromask4args.coreimportAsk4Args,Ask4ArgsGUI,Ask4ArgsWebfromtypingimportList,Dictdeftest_normal_function(a:int,b:int=2,**args_dict:Dict[str,int]):# first a value=1, args_dict['c']=3, others use default.# press 1, enter, enter, enter, c, enter, 3, enter, enterasserta==1assertb==2assertargs_dict['c']==3return('success',vars())deftest_keyword_only_function(a:float,b:int=2,*,c:bool=False,d:str='string',e:int=None,f:List[int]=None,**args_dict:Dict[str,int]):"""Read the doc, and test kw-only args.    :param a: one float num    :type a: float    :param b: one int num, defaults to 4    :type b: int, optional    :param c: boolen arg, defaults to False    :type c: bool, optional    :param d: string arg, defaults to 'string'    :type d: str, optional    :return: return the args_dict    :rtype: Dict[str, list]    """asserta==1.1assertb==2assertcisFalseassertd=='string'asserte==1assertf==[1,2,3]assertargs_dict['h']==3return('success',vars())classTestClass(object):deftest_method(self,a:str,b:int=1):asserta==''assertb==1return('success',vars())@classmethoddeftest_class_method(cls,a:str,b:int=1):asserta==''assertb==1return('success',vars())deftest_defaults(a:int):asserta==1return('success',vars())if__name__=="__main__":# cls = Ask4ArgsWebcls=Ask4Args# cls = Ask4ArgsGUI# =====================# =====================# ('success', {'a': 1, 'b': 2, 'args_dict': {'c': 3}})# cls(test_normal_function).run()# =====================# ('success', {'a': 1.1, 'b': 2, 'c': False, 'd': 'string', 'e': 1, 'f': [1, 2, 3], 'args_dict': {'h': 3}})# cls(test_keyword_only_function,#     choices={#         'e': [1, 2, 3, 4, 5]#     },#     checkboxes={#         'f': [1, 2, 3, 4, 5]#     }).run()# =====================# cls(TestClass().test_method).run()# =====================# cls(TestClass().test_class_method).run()# =====================# cls(test_defaults, defaults={'a': 1}).run()pass

待办事项

  • [x] 终端用户界面
  • [x] 图形用户界面
  • []Web UI(无需执行)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在java中将字符串转换为音频输入   java如何使用Spring Boot RestTemplate解组json列表   计算机上C++ OpenCV项目转换为OpenCV Android的java步骤   Java Spring Telegraf数据表不工作   openurlconnection与connect之间的java差异?   java Solr字段搜索、通配符和转义字符   java如何使用DLFolderLocalServiceUtil类的getFolders()方法?   尝试用Java编写文件   java连续双缓冲解决方案不起作用   两个数组的Java乘积   java Jackson,如何正确编写自定义反序列化程序   java将布尔标志按一定顺序排列以获得更好的性能是否有意义   java Vaadin无缓冲网格无法关闭   java在MySQL中以同一用户身份同时从不同客户端登录安全吗?   java如何使用安卓asynchttp库   java无法在Android中使用AlarmManager停止服务   java在Hibernate的XML配置文件中指定默认值   Spring启动应用程序中的java内存SQLITE不工作   Java代码无法写入文本文件,