Notepad++一鍵配置python運行 & 可能出現的文件路徑錯誤

使用Notepad++寫python的代碼,每次運行都需要重開命令行,太過麻煩。Notepad++中提供了運行的快捷設置,其設置步驟如下:
1 . 運行菜單->運行(快捷鍵f5)
2 . 輸入運行程序名:

cmd /k python "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT

3 . 將其保存爲想要的快捷鍵。
4 . 測試

在使用過程中,出現了錯誤。這樣一段代碼:

m1 = cv2.imread('159.jpg')
print type(m1)
m2 = cv2.imread('122.jpg')
print type(m2)

第一張圖讀入正確,而第二張圖卻顯示爲Nonetype,十分詭異。反覆測試之後,發現是路徑導致的錯誤。
cmd /k python “$(FULL_CURRENT_PATH)” & ECHO. & PAUSE & EXIT這段話的意識是,運行控制檯並輸入python+當前完整路徑,也就是對於控制檯/操作系統來說,此時的路徑還在其調用python的那個目錄下,所以代碼中正確的讀寫文件方法爲:

m1 = cv2.imread(sys.path[0]+'\\159.jpg')
print type(m1)
m2 = cv2.imread(sys.path[0]+'\\122.jpg')
print type(m2)

對於嚴謹的軟件來說,這樣可以防止任何由於路徑導致的錯誤。但在平時寫程序,這樣就太過於繁瑣,因爲一般運行的程序都是在當前目錄下運行的,因此可以修改配置爲:

cmd /k cd "$(CURRENT_DIRECTORY)" & python "$(FILE_NAME)"& ECHO. & PAUSE & EXIT

這樣就是先進入程序所在目錄,然後再運行程序,就不存在路徑的問題。

最後,又測試了一下上面的那段代碼,發現159.jpg在Notepad++文件夾下,將其刪除再運行,發現會自動將其拷貝到Notepad++文件夾下並讀取,而對於122.jpg則不會。這兩者是同一個文件,只是不同名,但尚不知道爲什麼會有這樣的現象……

參考資料:
http://www.cnblogs.com/zhcncn/p/3969419.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章