tzwhere(pytzwhere) - Python 2.7,带有简单的测试用例

时间:2014-05-20 21:01:39

标签: python ipython pytz

我正在运行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

1 个答案:

答案 0 :(得分:1)

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

from tzwhere import tzwhere w = tzwhere()

第一行从模块 tzwhere导入 tzwhere。

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

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

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