一、問題回顧:
最近在寫一些被監控系統呼叫的指令碼,用來上報統計資訊。發現手動跑的時候沒有任何問題,監控系統就是不能正常呼叫執行。
在折騰了兩個小時後,看報錯是監控系統沒拿到指令碼輸出。檢查指令碼,發現讀檔案的地方寫的都是相對路徑,改成絕對路徑後成功被系統呼叫。
python指令碼中例子如下:
1 with open('/data/open-falcon/agent/cfg.json
') as f:
2 d = json.load(f)
二、總結:
在寫shell、python指令碼的時候,涉及到指令碼呼叫、檔案讀寫,一定要寫絕對路徑。很重要!!!!
如果因為自己一時的偷懶,可能造成花2個小時的時間去找bug,就得不償失了。
檔案絕對路徑獲取
yourclass.class.getclassloader getresource threadpoolconfig.xml getpath 通過上述方法獲取到的一般是指定檔案的絕對路徑 並且該檔案必須存放在src目錄下 存在的問題 如果絕對路徑中存在空格,getpath取到的值是經過urlenc...
絕對路徑 相對路徑 檔案讀寫路徑
一 絕對路徑 能完整描述檔案在磁碟上的位置 1 完整的磁碟路徑 f test a.txt 存在於f盤test資料夾下的a.txt檔案 2 完整的url路徑 也是乙個絕對路徑,網域名稱會指向磁碟的乙個目錄 原博二 相對路徑 首先要確定乙個路徑參考點,其他檔案都是相對於當前檔案位置來確定的。在檔案路徑拓...
檢視檔案絕對 路徑 認識「路徑」
在我們的日常實際工作中,經常會需要在網頁中插入影象等外部檔案,此時就需要採用 路徑 的方式來指定檔案的位置。路徑可以分為 絕對路徑和相對路徑。絕對路徑 絕對路徑是包括伺服器規範在內的完全路徑。絕對路徑不管原始檔在什麼位置都可以非常精確的找到,除非是目標文件的位置發生變化,否則連線不會失敗。優點 缺點...