2024-06-02 12:47:35 发布
网友
在我的一个项目中,我使用了quantity包来表示物理量。这些量必须存储在png的元数据中,在那里它们必须可以被其他程序和我自己的程序读取。因此,数量必须存储为字符串(png元数据的要求),最好以人类可读的格式存储。在
虽然包quantity提供了从数量到字符串的对话,但似乎没有现成的方法将这些字符串解析回一个数量。由Quantity包生成的字符串是,例如
1.3 nm [1.4 3.1415 5.2] kg/m**2
有没有一种简单的方法可以将这些字符串转换回数量。数量?在
我尝试了下面的代码,我认为它应该适用于大多数情况。在
import quantities as pq import numpy as np def str2pq(s): p1 = s.find('[') if p1 < 0: sq, su = s.split() return pq.Quantity(float(sq), su) else: p2 = s.find(']') ss = s[p1+1:p2-1] return pq.Quantity(np.array(list(map(float, ss.split()))), s[p2+1:]) q = [pq.Quantity(10, 'nm'), pq.Quantity(1.0, pq.kilogram/pq.meter**2), pq.Quantity(np.array([1.2, 3.4]), pq.kilohertz)] qs = list(map(str, q)) qret = list(map(str2pq, qs)) print(q) print(qret)
我尝试了下面的代码,我认为它应该适用于大多数情况。在
相关问题 更多 >
编程相关推荐