VSCode中.py文件找不到路径的解决办法
遇到的问题:
近期通过VSCode学Python,但由于之前没系统性接触过命令行,所以一度造成了些许麻烦。
在VSCode里面运行xxx.py时,由于刚开始工作目录没有设置,按初始化的目录,需要一步步cd到文件目录才能正常找到文件执行,会相当麻烦。
解决方法(Win7):
通过快捷键ctrl+“,”或者是左上角文件->首选项->进入设置,搜索cwd可以设置终端默认起始目录。
但我们文件可能在很多地方都存在,就算有固定存放的地方,也会遇到执行某个非cmd默认路径的文件,这时候就得一步步cd...,当然这没什么效率,我们可以通过设置->搜索terminal找到python->terminal:excute in file dir
能帮我们在运行文件是自动定位到运行的文件路径,就不用一步步cd了。
可我这样设置仍然会存在问题:如果在py文件中引用相对位置路径,而被引用的文件没和.py文件一个目录,只是在一个根目录下,这种情况同样也会找不到文件。虽然可以通过改成绝对路径来解决,但我仍想使用相对目录,就需要更改配置,原因是VSCode的路径和正常相对路径不同。
具体路径不同之处参考:
改回正常相对路径的方法:
launch.json可以用ctrl+shift+p输入launch.json找到。
我个人的文件目录
.py文件在E: /Python/File下,py文件引用了hamlet.txt
hamlet.txt的路径为E: /Python/Resource/ hamlet.txt
改完配置后就可以在运行.py文件时通过正常相对路径的方式来访问hamlet.txt了。
../Resource/hamlet.txt
在查资料的过程中发现了另一种解决方法,由于未曾试验,此处只提供思路,有需求可以详细查看。
如果要改变到当前执行程序的路径的话,windows下在读写文件前加一句os.chdir(sys.path[0])