繁体   English   中英

有什么方法可以从cli中找到python中函数的所有可能的kwargs?

[英]Any way to find all possible kwargs for a function in python from cli?

有没有办法从命令行发现python中函数的潜在关键字参数? 无需查看源代码或文档。 有时源是 c lib 即使不可见

您可以使用inspect模块。 在 3.3+ 中,这很容易通过使用inspect.signature

import inspect

def foo(bar=None, baz=None):
    pass

>>> print(inspect.signature(foo))
(bar=None, baz=None)

紧接在链接文档下方的是一个仅提取关键字参数名称的示例,这也可能值得一读!

当然,如果您想深入检查源代码以尝试找到从**kwargs参数中提取的任何内容,那么您可能不走运。 类似的东西:

def foo(**kwargs):
    if kwargs.get("isawesome"):
        print("Dang you're awesome")

>>> some_magic(foo)
isawesome

可能很难找到。

对于函数 'myfunc' 使用这个:

myfunc.__code__.co_varnames

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM