0
我正在运行一些python和pyfits的代码,我正在从头文件读出一行信息。我得到了正确的线,但由于它是如何写在头上的,它用分号打印出我需要的数字。python pyfits,阅读标题信息和在计算中使用
我运行线是 打印头[0] .header [ '奥普']
此打印 34:04:32.04
我需要做一个计算,其中我添加这些数字在一起,但不知道如何做,因为它们被冒号分隔。谁能帮忙?
我正在运行一些python和pyfits的代码,我正在从头文件读出一行信息。我得到了正确的线,但由于它是如何写在头上的,它用分号打印出我需要的数字。python pyfits,阅读标题信息和在计算中使用
我运行线是 打印头[0] .header [ '奥普']
此打印 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
(EDIT)
或者,如果实际值弥补了时间小时,分,秒:
s = "34:04:32.04"
ss = [float(x) for x in s.split(":")]
print (ss[0] + ss[1]/60 + ss[2]/3600)
...,用于输出时间值:
34.07556666666667
惊人谢谢你,在实际工作中的计算,我需要做的是, 34 + 4/60±32.04/3600 是有可能做到这一点? – astrochris 2013-03-22 23:02:05
列表理解是美好的事情。我已经修改了我的答案来做你需要的计算。 – Simon 2013-03-22 23:08:47
太神奇了,谢谢 – astrochris 2013-03-22 23:13:35