Pytz上的错误 - IndexError:列表索引超出范围

时间:2013-11-21 19:31:09

标签: python pytz

我遇到了ptyz这个问题:

>>> import pytz
>>> pytz.timezone('US/Mountain')
Traceback (most recent call last):
 File "stdin", line 1, in module
 File "/home/user/.local/lib/python2.6/site-packages/pytz-2013b-py2.6.egg/pytz/__init__.py", line 181, in timezone
   _tzinfo_cache[zone] = build_tzinfo(zone, fp)
 File "/home/user/.local/lib/python2.6/site-packages/pytz-2013b-py2.6.egg/pytz/tzfile.py", line 78, in build_tzinfo
   while ttinfo[i][1]:
IndexError: list index out of range

我在服务器中有两个帐户,有两个不同的pytz安装,但它们是彼此的副本。在其中一个中,pytz充当魅力,但在另一个中我有这个错误。它看起来像ptyz中的错误,但它不可能,因为pytz在其他帐户中工作正常。

有没有人处理这个问题,或者知道可能导致这种情况的原因?

更新

当页面调用脚本时会发生此错误,这是最后一条消息:

build_tzinfo(zone='US/Michigan', fp=<closed file '/home/user/.local/lib/python2...e-packages/pytz/zoneinfo/US/Michigan', mode 'rb'>)

fp init .py中的一个变量,只是接收它:

open(filename, 'rb')

似乎找到,打开了文件,但没有真正打开。我在http://docs.python.org/2/tutorial/inputoutput.html发现linux和windows之间在看到二进制文件的方式上存在差异。我的服务器运行Linux,并且在另一个帐户上,使用相同的安装程序,pytz可以作为魅力。

1 个答案:

答案 0 :(得分:1)

发生了什么事:

在我更新了我的问题后,我注意到问题是python打开了一个二进制文件。一位朋友告诉我检查我用来将文件发送到服务器的软件(Filezila),有三种类型的传输:ASCII,二进制或自动。该软件设置为自动。我以二进制传输模式再次发送二进制文件,它工作正常。