在品脱中,如何将微观符号重新定义为μ-,而不是u-?

时间:2016-01-06 15:22:42

标签: python pint

pint中,如何重新定义拼写DispatcherFactory::add('H'); DispatcherFactory::add('Asset'); DispatcherFactory::add('Routing'); DispatcherFactory::add('ControllerFactory'); 而不是micro-的{​​{1}}前缀?两者在定义单位时都是别名,但在获得短符号(例如µ-格式规范)时,即使我尝试重新定义u-{:~}也会恢复为pint:< / p>

u-

(请注意,这些警告显然是通过记录模块发出的,并且由于micro- = 1e-6 = µ-In [155]: ureg.define("micro- = 1e-6 = µ-") WARNING 2016-01-06 15:19:07,017 unit._adder:563: Redefining 'micro' (<class 'pint.definitions.PrefixDefinition'>) WARNING 2016-01-06 15:19:07,017 unit._adder:563: Redefining 'µ' (<class 'pint.definitions.PrefixDefinition'>) 中的规则而显示

.pythonrc

如何重新定义注册表中的logging.basicConfig(format=("%(levelname)-8s %(asctime)s %(module)s.%(funcName)s:%(lineno)s: %(message)s"), level=logging.DEBUG)条目,以便In [156]: x = 3 * ureg.micrometre In [157]: ureg._get_symbol("micrometer") Out[157]: 'um' In [158]: "{:~}".format(x) Out[158]: '3 um' micro-而不是"{:~}".format(x)

修改

我正在使用最新git存储库中的3 µm

3 um

修改2

只有在先前定义的数量使用pint前缀时才会出现这种情况:

In [161]: print(pint.__version__)
0.7.dev0

但是(新会议):

u-

所以我认为在使用In [3]: ureg = pint.UnitRegistry() In [4]: q = 12 * ureg.um In [5]: ureg.define("micro- = 1e-6 = µ-") WARNING 2016-01-06 15:41:25,477 unit._adder:563: Redefining 'micro' (<class 'pint.definitions.PrefixDefinition'>) WARNING 2016-01-06 15:41:25,477 unit._adder:563: Redefining 'µ' (<class 'pint.definitions.PrefixDefinition'>) In [6]: x = 3 * ureg.micrometre In [7]: "{:~}".format(x) Out[7]: '3 um' 别名之前需要重新定义默认值。

1 个答案:

答案 0 :(得分:0)

您需要在之前重新定义µ-前缀,使用(无疑更方便输入)u-前缀:

In [2]: ureg = pint.UnitRegistry()

In [3]: ureg.define("micro- = 1e-6 = µ-")

In [4]: x = 3 * ureg.um

In [5]: print("{:~}".format(x))
3 µm

但是(其他会议):

In [3]: x = 3 * ureg.um

In [4]: ureg.define("micro- = 1e-6 = µ-")

In [5]: print("{:~}".format(x))
3 um