我正在使用 python 和 pyfits 运行一些代码,并且正在从标题中读出一行信息。我得到了正确的行,但是由于它是如何写在标题中的,所以它打印出来时用冒号分隔我需要的数字。
我正在运行的行是 print header[0].header['opp']
这打印 34:04:32.04
我需要做一个计算,将这些数字加在一起,但不知道如何做,因为它们用冒号分隔。
这样的事情应该可以解决您的问题:
header[0].header['opp'] = "34:04:32.04"
print (sum(float(x) for x in header[0].header['opp'].split(":")))
...输出:
70.03999999999999
(编辑)
或者,如果这些值实际上构成了以小时、分钟和秒为单位的时间:
s = "34:04:32.04"
ss = [float(x) for x in s.split(":")]
print (ss[0] + ss[1]/60 + ss[2]/3600)
...以小时为单位输出值:
34.07556666666667