我有一个python的os.path.getmtime()
函数的快速问题。我观察到一些奇怪的行为。我正在开发一个Web应用程序,该应用程序定期检查某个文件是否已被修改,并根据该文件确定是否刷新。python os.path.getmtime()time not changing
在我的本地python命令行中,当我更改文件并调用os.path.getmtime(file_name)
时,从mtime
返回的值已更改为反映文件中的更改。
但是,当我在我的web应用程序中调用os.path.getmtime()
时,更改前后的返回值是相同的。我在网上做了一些研究,发现有些东西建议os模块需要重新加载,以便更改要注册的文件。所以,在我的网络应用程序中,我重新加载了os
模块,但mtime
仍不能反映文件的更改。有没有其他人遇到过这个问题或知道解决方案?我已经包括了从Web应用程序片断如下代码:
import os
def function_name():
reload(os)
file_path = '/dir/lib/some_file.js'
try:
mtime = os.path.getmtime(file_path)
except os.error:
pass
return mtime
不,重新加载'os'模块**没有任何**与此相关。 –
啊,好吧。是的,我在其中一个python文档中看到,只有在加载os模块时才设置“os.environ”,我认为这可能与此有关。 –
'os.path.getmtime()'不会缓存任何东西。它只是返回'os.stat(filename).st_mtime'。 'os.stat()'不会缓存任何东西,它只是调用C库,它会向操作系统询问该信息。 –