vscode运行python代码时,相对路径错误
·
问题:
假设你的文件结构是:/Work/Program/main.py,如果你在main.py里写了
with open('file.txt','w') as f:
f.write('HelloWorld')
那么在vscode中,新生成的文件将会出现在/Work下,而不是/Work/Program下。
原因:
python插件的cwd默认是文件夹根目录,env默认就只有python解释器的查找路径。
解决办法:
-
如果是用调试器(F5),可以在launch.json中加入"cwd": “${fileDirname}”,或者缺省这一项(“cwd”: “”)
-
如果用的code runner插件,可以在插件设置中勾选File Directory As Cwd

-
如果是用的python插件,右键选择在terminal中运行代码。那么就比较复杂了:
python 脚本执行的时候都是以调用脚本的工作目录为准,为了保证生成的文件与 py 脚本在同一目录下,可以使用以下方法获取 py 文件所在目录,然后合成待生成文件的目录:import sys import os.path as op with open(op.join(sys.path[0], 'file.txt'), 'w') as f: f.write('HelloWorld')或者
#加上下面代码 import os, sys os.chdir(sys.path[0]) #然后就可以愉快使用相对路径了
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)