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

你可能感兴趣的:(工具,Python,python,Notepad++)