Python2.4和2.6对于os.path.getmtime操作系统()在Windows上

2024-04-27 19:24:39 发布

您现在位置:Python中文网/ 问答频道 /正文

在windowsxp上从不同的Python版本计算得到两个不同的修改时间。在

Python2.4

C:\Copy of elisp>c:\python24\python
Python 2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.path.getmtime("auto-complete-emacs-lisp.el")
1251684178
>>> ^Z

Python2.6

^{pr2}$

Python2.6和Python2.4报告的时间差为3600秒。在

这种奇怪行为的原因是什么?在


Tags: of版本osontype时间bitoct
2条回答

这是微软实现C标准库的一个缺陷。Python2.4过去常常使用stdlib fstat调用来获取文件信息,因此在使用DST的语言环境中可能会导致一个小时的中断。在

在Python2.5及更高版本中,os.stat在Windows上运行时调用直接的仅限Win32的API来获取文件信息,从而得到正确的输出。更多信息请参见this thread。在

There is a difference of 3600 seconds ...

这应该是关键。这是一个时区问题,简单明了。在

现在你要做的就是找出为什么2.4和2.6使用不同的时区信息:-)

相关问题 更多 >