我正在尝试在python脚本中使用pytz,作为hadoop流作业的Map器。
按照另一个线程中的建议,我尝试将pytz打包为zip“pytz.mod”,并使用zipimport加载它:
import zipimport
importer = zipimport.zipimporter('pytz.mod')
pytz = importer.load_module('pytz')
from pytz import timezone
user_timezone = timezone('America/Moncton')
这会产生以下错误:
Traceback (most recent call last):
File "./load-pytz.py", line 15, in <module>
user_timezone = timezone('America/Moncton')
File "./lib/python2.6/site-packages/pytz/__init__.py", line 180, in timezone
pytz.exceptions.UnknownTimeZoneError: 'America/Moncton'
我发现了这个线程,问题似乎是zipimport无法加载zoneinfo目录中的二进制文件。我试着按照线程中的说明去做,但没能让它们工作。有没有更简单的机制来打包zoneinfo,而不必经过py2exe?
我所需要做的就是将utc时间戳相对于时区进行本地化,例如“america/moncton”。
谢谢您!
1条答案
按热度按时间ubby3x7f1#
你试过吗?根据我在这里读到的,pytz会给出一个未知的时区错误,原因有几个。-如果你没有给它一个时区名称,或者如果你给它的时区名称,取决于你的操作系统,是不是与pytz使用的时区名称相同。使用tzlocal作为tzinfo对象检索本地时区,将pytz作为普通对象使用,应该可以让您继续您的项目。
如我在上面放置的链接所示,您可以通过
我不自称是Maven,只是做一些自己的研究,试图帮助一个需要帮助的人。希望这对你有帮助。