python - 如何将函数的所有参数保存为字符串?
问题描述
我希望将函数的输入参数保存为字符串。我正在使用 Python 3.7。我想保存该字符串以进行调试。
我可以轻松做的事情是这样的:
def Model(par1=150, par2=100)
#some processing
return results, par1
parameters = str(par1) + str(par2)
但是,我希望能够自动保存所有参数,即使我稍后添加更多参数。因此,如果我将 par3 = 300 添加到函数中,“参数”也将包含 str(par3),而不是我必须手动添加它。
我想要的行为是这样的:
def Model(--any number of parameters--)
#some processing
return results
parameters = --all parameters of Model--
我想让它自动完成的原因是我希望否则它会造成更多的麻烦而不是更糟,因为我必须记住一直手动更改它。
是否可以将函数的所有参数保存为字符串(或以任何其他方式让我稍后轻松检查函数运行的参数)?
解决方案
你可以试试这样的
def foo(param1, param2):
parameters = list(locals().items())
print(parameters)
foo(100,200)
# Outputs
[('param1', 100), ('param2', 200)]
推荐阅读
- python - 过滤带有特殊字符的df
- ios - 如何在iOS项目中旋转没有任何子视图的视图?
- docker - 如何从运行在 Docker 容器中的 Hasura 获取 Hasura 集群名称?
- hadoop - Kubernetes 上的 Hadoop 与标准 Hadoop
- git - git add --patch 和 yarn.lock
- python - 像 python 这样的无头 chrome 如何请求低 CPU 使用率?
- http - 将 HTTP JSON 正文响应转换为 Go 中的映射
- git - 配置 git 以使用 flyway 对具有不同名称模式的文件进行提交差异
- javascript - 有什么方法可以将 urn:ietf:wg:oauth:2.0:oob 与 ADAL JS 一起使用
- python - 删除 Xarray 子图中的共享颜色条