我的代码:
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()
我无法理解。
感谢
答案 0 :(得分:6)
tzset
见the 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。