由于http://www.lfd.uci.edu/%7Egohlke/pythonlibs/分发的预编译版本,我终于可以在我的 Windows7 64 位机器和 Python 3.3.1 中安装天文计算Ephem包。
在学习使用它时,我偶然发现了以下奇怪现象,对此我找不到任何解释:
Python 3.3.1 (v3.3.1:d9893d13c628, Apr 6 2013, 20:30:21) [MSC v.1600 64 bit (AMD64)] on win32 键入“copyright”、“credits”或“license()”了解更多信息信息。
>>>导入 ephe
>>> ephem.localtime(ephem.Date('1970'))
datetime.datetime(1970, 1, 1, 1, 0, 0, 3)
>>> ephem.localtime(ephem.Date('1969'))
回溯(最近一次通话最后):
文件“”,第 1 行,在 ephem.localtime(ephem.Date('1969'))
文件“C:\Python33\lib\site-packages\ephem__init__.py”,第 479 行,本地时间 timetuple = time.localtime(calendar.timegm(date.tuple()))
OSError:[Errno 22] 参数无效
>>>
所有小于1970的参数都会触发同样的错误。由于ephem.Date()似乎不是罪魁祸首,
>>> ephem.Date('1969')
25202.5
>>>
我只能得出结论,奇怪的行为属于ehem.localtime()。我的使用是错误的还是代码有一些错误?