繁体   English   中英

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

[英]Error on Pytz - IndexError: list index out of range

我在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'>)

fpinit .py内部的一个变量,它只接收它:

open(filename, 'rb')

似乎已找到文件,但未真正打开文件。 我在http://docs.python.org/2/tutorial/inputoutput.html上发现,Linux和Windows在查看二进制文件的方式上存在差异。 我的服务器运行Linux,并且在另一个帐户上,同样的安装方式,pytz很有魅力。

那就是发生的事情:

更新问题后,我发现问题出在python打开二进制文件。 一位朋友告诉我检查用于将文件发送到服务器的软件(Filezila),并且有三种传输类型:ASCII,二进制或自动。 该软件设置为“自动”。 我再次以二进制传输模式发送二进制文件,并且它起作用了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM