PhysicalQuantities
PhysicalQuantities copied to clipboard
Conversion from string
Thanks for the cool library! It would be nice to have a function that can parse a PhysicalQuantity from a string.
For usage outside ipython, it would be nice if this was available under a short name, such as the already existing q()
.
A quick mock-up which just splits at whitespace:
from PhysicalQuantities import PhysicalQuantity, _Quantity, q
_Quantity.__call__ = lambda s, x: PhysicalQuantity(float(x.split()[0]), x.split()[1])
print(q("1 m") / q("1 s")) # gives 1.0 m/s
It would also be useful for parsing string data loaded from files or input by user.
Thanks for your interest :-)
You can use transform_line
from PhysicalQuantities.transform
to do this, see:
I use this here for example:
https://github.com/juhasch/yamleins/blob/master/yamleins/init.py
Yeah, though that requires eval()
which is quite risky when loading untrusted files.