使用新的{foo='bar',key=none}dict语法包装ast.literal的eval。

litereval的Python项目详细描述


文学评论

literevalast.literal_eval的包装,有新的附加{foo='bar', key=None}dict语法。 再加上一些帮助工具来深入合并字典,将python数据解析为*args**kwargs

可用于创建包装器命令行接口见pyppdf

安装

需要Python3.6+

conda install -c defaults -c conda-forge litereval

pip install litereval

API

文学评论

deflitereval(string:str):"""    Small extension of ``ast.literal_eval`` that also    accepts dict in a form of ``{key=100, foo='bar'}``    Returns    -------    ret :        ast.literal_eval(preprocess(string))    """

合并

defmerge(source:dict,destination:dict,copy:bool=False)->dict:"""    Deep merge two dictionaries.    Overwrites in case of conflicts.    From https://stackoverflow.com/a/20666342    """

阿格斯夸格斯

defargs_kwargs(args:Any)->Tuple[Union[tuple,None],Union[dict,None]]:"""    Parses ``args`` object to ``(*args, **kwargs)`` tuple.    Special case when ``args`` is ``None``: returns ``(None, None)``.    Otherwise tries to put not iterable object to tuple:    ``args`` to ``(args,)``. Examples:    * ``(1, 2)`` to ``(1, 2), {}``    * ``"foo"`` to ``("foo",), {}``    * ``{(): ('a', 0), 'foo': None} to      ``('a', 0), {'foo': None}``    Returns    -------    ret :        tuple: *args, **kwargs    """

获取参数

defget_args(name:str,args,default=None)->Args:"""    Gets ``*args`` and ``**kwargs`` for a ``name`` function    from an ``args`` dict. Wrapper around ``args_kwargs`` function.    Returns ``NamedTuple`` ``Args``: ``(args: tuple, kwargs: dict)``    """

获取

defget(key:str,dic,default=None):"""Gets key even from not a dictionary."""

元组
deftuple_(obj:Any)->tuple:"""Converts any object to tuple. ``string`` to ``(string,)``."""

已验证

defvalidated(args:tuple,kwargs:dict)->Tuple[tuple,dict]:"""Validates inputs and returns ``*args, **kwargs``."""

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

推荐PyPI第三方库


热门话题
java无法启动应用程序:JNLP错误   java根据用户输入在PreparedStatement中使用setTime()或setNull()   java EJB与同步   java以object为键通过hashmap进行搜索   java中的模10^9+7   针对包含其他对象的对象的java OOP最佳实践   如何将字符串作为HTML代码从Java文件读取到JSP页面?   java我的POM怎么了?“解析表达式..检测到递归表达式循环”   用于Hbase的Mapreduce的java NoSuchMethodError   JAVAlang.SecurityException:权限拒绝:启动意图{act=安卓.Intent.action.MAIN cat=[安卓.Intent.category.LAUNCHER]   数组初始化谜语Java   通过arraylist搜索时的java句柄关联