我有一個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庫,它會向操作系統詢問該信息。 –