首页 > 解决方案 > pyhocon - 强制变量具有浮点类型(而不是 str)

问题描述

我正在使用pyhocon包,我希望将其中一个参数作为 int/int 除法给出。conf 文件如下所示:

{
  var = 1/3
}

但是,这是我尝试得到的:

>>> from pyhocon import ConfigFactory
>>> conf = ConfigFactory.parse_file(conf_path)
>>> conf.var
 '1/3'
>>> conf.get_float('var')
pyhocon.exceptions.ConfigException: var has type 'str' rather than 'float'

我怎样才能强制var使用浮动类型?(不使用某种eval

标签: pythonpython-3.xconfiguration

解决方案


3/4不是浮点数。0.75是。您需要先“计算”您的字符串。

利用

{
  var = 0.75
}

反而。


或者:

import operator  

k =  operator.truediv( *map(int,"3/4".split("/")))  # conf.var
print(k)

到达,得到0.75


推荐阅读