为什么我的'时间'类没有'tzset'属性

时间:2010-01-01 08:28:07

标签: python syntax

我的代码:

import time
print hasattr(time.tzset)#error

为什么有人这样做呢:

if hasattr(time, 'tzset'):
            # Move the time zone info into os.environ. See ticket #2315 for why
            # we don't do this unconditionally (breaks Windows).
            os.environ['TZ'] = self.TIME_ZONE
            time.tzset()

我无法理解。

感谢

3 个答案:

答案 0 :(得分:6)

tzsetthe docs:他们明确说出

  

可用性:Unix。

所以你可以在MacOSX,Solaris或Linux中使用它,但不能在Windows上使用它。

另外:除了你的Q标题之外,没有“你的时间等级”这样的东西:你试图使用的time模块不是< / strong> a class

最后,正如@Daniel所说,你第一次使用hasattr是完全错误的(第二个,你不明白,是正确的。)

答案 1 :(得分:3)

您使用hasattr是错误的。正确的语法显示在您的第二个代码段中。

hasattr有两个参数 - 一个对象,一个字符串代表你要检查的属性。你完成它的方式,Python将首先评估time.tzset,然后再将其传递给hasattr - 从而导致你试图避免的错误。

答案 2 :(得分:1)

要么你有一个本地模块,它影响了股票time模块,你使用的是2.3之前的Python版本,或者你在Windows上运行Python。