我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

vscode中,使用代码读取文件的时候,如果使用相对路径的话,就可能会出现文件无法找到的情况。实际上,就是当前程序的运行路径问题。相对文件路径就是从当前运行环境上叠加的,而不是当前被运行的代码进行叠加的,所以会出现文件读取失败的情况。

苏南大叔:vscode编辑器,如何解决相对路径文件读取失败的问题? - 相对路径文件读取
vscode编辑器,如何解决相对路径文件读取失败的问题?(图3-1)

大家好,这里是苏南大叔的程序如此灵动博客,这里记录苏南大叔和计算机代码的故事。本文描述一个vscodepython插件的一个参数。测试环境:win10python@3.6.8vscode@1.68.1

绝对路径/相对路径

大多数情况下,大家都是使用相对路径的。测试代码如下:

with open("dict.txt", 'w', encoding='utf-8', newline='') as f:
  # ...

这就有一定的概率,会显示文件读取失败。报错如下:

File "/opt/anaconda3/lib/python3.8/site-packages/jieba/__init__.py", line 398, in load_userdict
  f = open(f, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'

苏南大叔:vscode编辑器,如何解决相对路径文件读取失败的问题? - 错误信息
vscode编辑器,如何解决相对路径文件读取失败的问题?(图3-2)

如果是import失败,可以参考下面的文章,解决对应方案如下:

方案一

如果从代码层面解决这个问题的话,可以使用绝对路径,测试代码如下:

path = os.path.join(os.path.dirname(__file__), "dict.txt")
with open(path, 'w', encoding='utf-8', newline='') as f:
  # ...

方案二【推荐】

也可以使用相对路径,在保持原有相对路径代码不变,在顶部用代码切换环境路径。测试代码如下:

import os
os.chdir(os.path.dirname(__file__))

方案三【保底】

这里需要调整一个python的扩展选项,路径是:首选项=>python=>Terminal=>Execute In File Dir
选中以后,即使使用相对路径,就不会有本文所描述的问题。

苏南大叔:vscode编辑器,如何解决相对路径文件读取失败的问题? - python配置filedir
vscode编辑器,如何解决相对路径文件读取失败的问题?(图3-3)

相关文章

综述

这又是一个vscodepython插件配置问题,配置之后,就可以从一定程度上解决相对路径文件读取失败的问题。更多vscode的经验文章,请点击:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python    vscode