python: 不使用字符串发送字符串值

python: Send string value without using string

我正在设置一个 python 应用程序,它使用一个外部模块 padelpy,它包装了对 rest API 的访问 API:from padelpy import padeldescriptor

我有一本包含设置名称和值的字典:

settings = {
    'fingerprints': False,
    'd2_d': False,
    ...
}

我遍历收到的 POST.request 参数以检查哪些设置为真:

for setting in settings.keys():
    if setting in request.POST:
        settings.update({setting: request.POST.get(setting)})
        str_conf = '%s=TRUE' % setting
        padeldescriptor(str_conf)

如果我使用

padeldescriptor(fingerprints=TRUE)

有效

但如果我使用

padeldescriptor(str_conf)

和发送一样padeldescriptor("fingerprints=TRUE")

我从服务器返回一个错误:

Exception in thread "main" java.lang.NumberFormatException: For input string: "fingerprints=TRUE"

如何在不使用字符串的情况下发送设置?

谢谢

您可以使用字典解包来完成此操作

padeldescriptor(**settings) 应该可以。这样做是将字典中的所有内容解压缩为该函数的关键字参数。