2

使用 'units 模块执行单位之间的基本转换。然而,似乎不可能在升和毫升之间进行简单的转换......为什么?

>>> from units import unit

>>> one_liter = unit('L')(1)   
>>> one_liter
Quantity(1, LeafUnit('L', False))

>>> unit('mL')(one_liter)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/heinz/src/units/lib/python2.6/site-packages/units/abstract.py", line 23, in __call__
    raise IncompatibleUnitsError()
units.exception.IncompatibleUnitsError
4

1 回答 1

3

您需要调用define_units()predefined模块才能使用此包。

import units
import units.predefined

units.predefined.define_units()
one_liter = unit('L')(1)
unit('mL')(one_liter)

我认为这个包本来可以设计得更好——正如您所发现的,很容易意外地使用用户定义的单位而不是标准单位。

于 2013-01-05T08:20:20.257 回答