需要数量为python包的所有单位的列表

时间:2016-05-19 17:45:55

标签: python units-of-measurement

我正在尝试获取python数量包中预定义的所有单位的列表。像这样:

from quantities import units as u

myList = u.length.list(everything defined with UnitLength)

,结果将是:

myList = ['m','meter','metre,'mi','au',...]

我想对它们在包中定义的所有单元类型执行此操作。知道如何在不解析实际源代码的情况下做到这一点吗?

4 个答案:

答案 0 :(得分:0)

这个有用的模块可以帮助您:https://pypi.python.org/pypi/units

答案 1 :(得分:0)

from quantities import units

unit_symbols = [u.symbol for _, u in units.__dict__.items()
    if isinstance(u, type(units.deg))]

检查文档,可能会导出此列表。

答案 2 :(得分:0)

我认为这可以满足您的需求:

for /f "tokens=1 " %%a in ('testapp.exe') do set DEVICE1=%%a

缺点是它不适用于其他单位类型,因为您需要知道每种类型的类型。

答案 3 :(得分:0)

Yakym,很棒的回应。 thegoodson,根据您是否需要缩写或非缩写版本,使用第一个(在Yakim的示例中转储为_)来获取非缩写列表。我想一个更完整的方法(获得两者)将是:

from quantities import units as u

unit_symbols = [foo.symbol for _, foo in u.__dict__.items() if isinstance(foo, type(u.m))]
unit_names = [bar for bar, foo in u.__dict__.items() if isinstance(foo, type(u.m))]