我正在运行pytzwhere软件包给出的最简单的测试问题。该模块导入,但出现错误。 pytzwhere似乎是从GPS坐标获取时区的不错的离线选项,但是没有太多文档。任何有关如何调和这方面的帮助将不胜感激!

In [94]:

import tzwhere

w = tzwhere()
print w.tzNameAt(1.352083, 103.819836)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-94-0b50c8083e93> in <module>()
      1 import tzwhere
      2
----> 3 w = tzwhere()
      4 print w.tzNameAt(1.352083, 103.819836)

TypeError: 'module' object is not callable


编辑:

根据以下注释,通过以下代码修改已解决了该问题-

In [108]:

from tzwhere import tzwhere

w = tzwhere.tzwhere()
print w.tzNameAt(1.352083, 103.819836)
-----------------------------------------------------------------------------
Reading json input file: /Users/user/anaconda/lib/python2.7/site-packages/tzwhere/tz_world_compact.json
Asia/Singapore

最佳答案

您不能仅仅从w = tzwhere()这样的模块实例化w。 tzwhere是包含tzwhere类的模块。正如Python正确指出的那样,模块不可调用。

from tzwhere import tzwherew = tzwhere()

第一行从模块tzwhere导入类tzwhere。

编辑:如果您导入“我的方式” :-) w = tzwhere()是w作为类tzwhere的实例的有效创建。

通常在Python中,类将命名为TzWhere,这样可以避免此类混淆。

我认为您正在尝试使用https://github.com/pegler/pytzwhere/blob/master/tzwhere/tzwhere.py

关于python - tzwhere(pytzwhere)-具有简单测试用例的Python 2.7,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23769883/

10-10 14:15