2013-03-01 3 views
8

Скажем, у меня есть набор строк вроде следующего:Анализировать Python Строка для единиц

"5 m^2" 
"17 sq feet" 
"3 inches" 
"89 meters" 

Есть ли пакет Python, который будет читать эти строки, конвертировать их в SI, и возвращает результат в easily- полезная форма? Например:

>>> a=dream_parser.parse("17 sq feet") 
>>> a.quantity 
1.5793517 
>>> a.type 
'area' 
>>> a.unit 
'm^2' 
+0

https://pypi.python.org/pypi/units это хорошо, но я не думаю, что он будет разбирать единицы из строки для вас. – mgilson

+2

Вот еще один: https://pint.readthedocs.org/en/latest/ – isedev

+0

возможный дубликат [библиотеки Python для конвертации между префиксами SI-модулей] (http://stackoverflow.com/questions/10969759/python-library- to-convert-between-si-unit-prefixes) –

ответ

1

Есть ли расширение для ipython, которое может выполнять хотя бы часть того, что вы хотите. Это называется ipython-physics

Он хранит значение и единицы измерения и позволяет (по крайней мере) некоторую базовую математику. Я никогда не использовал его сам, поэтому я не знаю, как легко было бы использовать в скрипте python.

+0

Я бы предпочел не использовать ipython, но спасибо. – Richard

+0

Я вижу. Я просто посмотрел на источник, и мне кажется, что Ipython входит только при загрузке/разгрузке расширения, а не в самом теле расширения. Но я думаю, что выигрыш 'pint', если не для названия и изображения –

1

Совсем недавно pint - это хорошее место для начала большинства из них.

Смежные вопросы