Mar*_*s J 11 python python-2.7 os.path
我有一个python os.path.getmtime()函数的快速问题.我观察到一些奇怪的行为.我正在开发一个Web应用程序,它定期检查某个文件是否已被修改,并决定是否根据该文件进行刷新.
在我的本地python命令行中,当我更改文件并调用os.path.getmtime(file_name)返回值时,mtime已更改以反映文件中的更改.
但是,当我os.path.getmtime()在我的网络应用程序中调用时,更改前后的返回值是相同的.我在网上进行了一些研究,并发现了一些建议,需要重新加载os模块才能更改要注册的文件.因此,在我的Web应用程序中,我重新加载了os模块,但mtime仍未反映对文件的更改.有没有其他人遇到此问题或知道解决方案?我在webapp中包含了以下代码段:
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
Run Code Online (Sandbox Code Playgroud)
也许您可以尝试获取除 mtime 之外的文件的一般统计信息,例如大小。
服务器上更改前后(即在终端窗口中查看 ls -l 时)文件的预期大小/运行时间是相同还是不同。
如果使用此类命令行工具时的统计数据相同,则可能是文件没有在您认为的位置进行编辑。
如果大小/时间不同,也许使用
os.stat(filename)
Run Code Online (Sandbox Code Playgroud)
看看它是否给出了正确的值。