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)
应该可以。这样做是将字典中的所有内容解压缩为该函数的关键字参数。
我正在设置一个 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)
应该可以。这样做是将字典中的所有内容解压缩为该函数的关键字参数。