这是一个由两部分组成的问题,第一部分很简单。我试图将当前时间作为高分辨率数字来获取,这可以通过perl中的Time :: HiRes模块轻松完成。我确实在其他地方找到了使用time.time()在Python中使用的答案。唯一的情况是,当我这样做时,我得到2位有效数字,并且想知道是否需要导入其他内容或在我的环境中设置什么或什么。看看这个:在Linux系统上的python高分辨率时间
>>> import time
>>> print time.time()
1326459121.68
我的第二个问题是关于setitimer,根据文档它说它将提供报警和时间可以被指定为一个浮点数做。听起来正是我想要的。实际上,根据这个 - python timer mystery它看起来很容易使用。但是,当我作出这样的例子的精确副本,我得到这个:
[[email protected] python]# ./signal.py
Traceback (most recent call last):
File "./signal.py", line 10, in ?
signal.setitimer(signal.ITIMER_REAL, 2, 2)
AttributeError: 'module' object has no attribute 'setitimer'
也许分开我的问题是,作为一个新的Python用户,我还没有“一个与蟒蛇”也许我不理解什么它试图告诉我的错误消息。它是否抱怨它无法找到signal.setitimer或者我传递的属性有什么问题?我想知道,如果它无法解析signal.ITIMER_REAL,因此试图用一个0调用它只是为了看看会发生什么,现在它在告诉我:
[[email protected] python]# ./signal.py
Traceback (most recent call last):
File "./signal.py", line 10, in ?
signal.setitimer(0, 2, 2)
AttributeError: 'module' object has no attribute 'setitimer'
所以我不得不相信这是signal.setitmer本身这是有问题。
啊哈!我只是通过在具有更新版本的Python的虚拟机上尝试这个问题来发现问题,它工作得很好。看起来像setitimer不适用于我的版本的python,但我怎么能从错误消息告诉?它不应该说模块没有方法吗?调用缺少的方法属性很混乱。
也许这只是学习曲线的一部分。无论如何,我想我会在这里保留第二个问题,所以其他人可能会受益,但我仍然被我无法从time.time()获得高解析时间的难题所困扰,它仍然只能以百分之一秒这个更新版本的Python。
+1
在python中,函数是一等公民,可以视为变量。在这个意义上说,一个方法是一个属性,它不应该混淆。 –
2012-01-13 13:01:19
+1
time.time()返回更多的sigfigs,但'print'默认只显示2。打印repr(time.time())查看所有数字。 –
2012-01-13 13:11:22
+0
酷!非常好。我想我很困惑,因为我看到的那些显示打印高分辨率时间的参考文件都是通过一个简单的“print time.time()”来实现的。这是否意味着他们在帖子里懒惰,或者只是假设读者会知道该怎么办?只是好奇,并试图吸收蟒文化 –
2012-01-13 13:56:20