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