この質問の「単位」は、物理量で使用される「測定単位」を指します。
物理量 (「23 kg」など) を含む信頼できないユーザー入力文字列を安全に解析したいと考えています。Python で利用可能なパッケージの 1 つ ( UnumやQuantitiesなど) を使用したいのですが、それらは単位間の変換、数式に含まれる単位の簡略化、基本単位への削減を処理するためですが、方法が見つかりませんでした。eval()
安全でないと思われるを使用する以外に、文字列を (前述のパッケージの) オブジェクトに変換します。
たとえば、と がUnumパッケージ オブジェクトにバインドされ、キログラムとセンチメートルの単位を参照すると仮定するkg
と、次のような文字列からUnumパッケージ オブジェクトを返すことができる関数が必要です。cm
cast_to_unit("100 kg/cm")
また
"100 kg/cm".asUnit()
- 上記のパッケージからそのような機能を取得する方法はありますか? そうでない場合は、
- 安全に使用する方法はあります
eval()
か?そうでない場合は、 - そのような機能を持つ他のパッケージ (Python でなくても) はありますか?