2016-04-03 58 views
2

我有一個每天運行的程序。我想爲每次運行創建一個日誌。這裏是負責記錄代碼剪斷:Windows任務調度程序和python日誌記錄模塊

logging.basicConfig(filename = 'log.txt', level = logging.DEBUG, format = '%(asctime)s - %(levelname)s - %(message)s') 

logging.debug('Start of program') # example logging 

一切都完美的罰款,只要我通過.py文件或者.bat文件(點擊鼠標在文件瀏覽器)啓動運行。不幸的是,當我把它放在日程表上時,程序運行正常,但日誌文件沒有被創建。

我已經嘗試了多個調度程序設置,但問題似乎位於該腳本的代碼中。

感謝您的反饋!

+1

下是否有權訪問日誌文件的位置被執行腳本的用戶?你有沒有爲動作指定一個明確的「開始」文件夾?這些是我在調度python腳本時遇到的兩個問題。 – Oliver

+0

問題解決了:)非常感謝!在我指定了位置開始之後,所有事情都會順利進行! –

回答

2

我想添加解決方案作爲答案,因爲這似乎是一個比較常見的問題,這在過去導致我一些悲傷。

從Windows任務計劃程序執行某些操作時,該進程的工作目錄默認不是可執行文件的路徑,而是某個其他目錄。例如。當你的調度程序動作調用C:\sample.py這不是在C:\而是C:\Windows\system32(在我的情況下)執行。

您可以通過添加計劃任務調用一個簡單的Python /批處理腳本節省了積極的工作目錄下的一些文件,如該

import os 

with open("C:\\cwd.txt", "w") as fh: 
    fh.write(os.getcwd()) 

或本

echo %cd% >> C:\cwd.txt 

這驗證這一點用你的程序可能包含的任何相對路徑混淆,我懷疑它還有一些我還沒有確定的更微妙的問題。

問題可以通過顯式設置路徑,可選的「在啓動」你的行動來避免: enter image description here

相關問題