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