我有一個過程,可以掃描磁帶庫並查找已過期的介質,因此可以在將磁帶發送到非現場保管庫之前將其刪除並重新使用。 (我們有一些7天的策略,絕不會使其不在現場)。這個過程大約需要20分鐘才能運行,所以我不希望它在加載/刷新頁面時按需運行。相反,我設置了一個django-cron作業(我知道我可以在Linux cron中完成這項工作,但希望項目儘可能獨立)來運行掃描,並在/ tmp中創建一個文件。我已經驗證了這一點 - 從今天上午執行的文件存在於/ tmp中。我遇到的問題是,現在我想在我的網頁上顯示這些過期(暫存)介質的列表,但腳本說它找不到該文件。當創建的文件,我用的是絕對路徑「/tmp/scratch.2015-11-13.out」(例如),但這裏是我在瀏覽器中出現錯誤:Django:沒有這樣的文件或目錄
IOError at/
[Errno 2] No such file or directory: '/tmp/corpscratch.2015-11-13.out'
我的假設是這是一個「網絡根」問題,但我無法弄清楚。我嘗試將該文件複製到在django中配置的/ static /和/ media /目錄中,甚至在django根目錄和項目根目錄中,但似乎沒有任何效果。當它說'找不到/ tmp/file,它真的在哪裏看?
def sample():
""" Just testing """
today = datetime.date.today() #format 2015-11-31
inputfile = "/tmp/corpscratch.%s.out" % str(today)
with open(inputfile) as fh: # This is the line reporting the error
lines = [line.strip('\n') for line in fh]
print(lines)
print語句用於在外殼的測試(工作,我可以補充),但瀏覽器提供了一個錯誤。 和文件確實存在:
$ ls /tmp/corpscratch.2015-11-13.out
/tmp/corpscratch.2015-11-13.out
感謝。
編輯:被誤認爲是不能在python shell中工作的。正在考慮以前的問題。
這不能解決我的問題。我使用的是datetime.date,而不是datetime.datetime,所以生成的字符串匹配。 (2015年11月13日)。 –