crontab 中定時執行py腳本,不能進入main方法

問 題

一直納悶,main外面的語句可以執行,但是在main中就不能進入執行。
在外面有命令可以成功執行。

嘗試

因爲重定向到日誌沒有記錄錯誤輸出,一度以爲不會出現錯誤…(打臉),在crontab重定向標準錯誤輸出後,
python /home/project/xxx/XXX.py >>/home/project/xxx/log.log 2&1
查看日誌,發現在main中一處引用文件地方出錯,== 沒有找到該文件 ==。
原因是,我在腳本里用的相對路徑,而在crontab中它執行環境本地路徑 測試爲"/root", 也同樣看出爲什麼crontab中命令都是使用絕對路徑!

# 測試代碼
0 9 * * *  pwd >> /root/xx/log 2>&1

所以使用相對路徑絕對是找不到
而在命令行執行的目錄正好是py腳本所在目錄,所以能夠執行,若跑到其他目錄執行py腳本也同樣會報找不到文件!

解決

import os
pwd = os.getcwd()
cookieFile = os.path.join(pwd,"chaoXingCOMCookies.txt")
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章