python - (FileNotFoundError: [Errno 2] No such file or directory: 'data.json') 在 VS Code 中,但在 Pycharm 中没有错误,为什么?
问题描述
我刚从 Pycharm 转到 VS Code。现在我在我的脚本中执行了一个非常简单的 json.load 操作,并且发生了一件奇怪的事情。我不断收到错误 "FileNotFoundError: [Errno 2] No such file or directory: 'data.json'"
。但是,当我在 Pycharm 中打开相同的 py 文件时,它运行完美,没有任何错误。
它们都在 python 3.7 解释器上运行。VS Code 一来自opt/local/bin/python3.7
,而 Pycharm 一来自usr/local/bin/python3.7
。
这是错误的原因吗?
解决方案
您在 python 脚本中查找的文件或目录取决于您运行 python 脚本的路径。这是这类问题的关键。
当你打开cmd进入python脚本路径运行python脚本时,你可以很容易地理解如何在你正在运行的python脚本中设置文件或目录路径。
但是当你在 IDEA 中运行相同的 python 脚本时,你会混淆搜索文件或目录应该采用的路径。这时候,你只需要找出运行命令的路径。有时它与 python 脚本目录不同。
在 VSCode 中,终端的默认路径是项目的根目录。当您选择“在终端中运行 python 文件”时,执行此操作的命令不会更改终端的路径。所以python脚本中的文件或目录路径应该取决于项目目录(终端路径)。并且你可以通过“cwd”配置在调试模式下更改这个默认目录,然后在调试python脚本时,你会发现终端路径已经更改为“cwd”设置的路径。
只需要记住,python脚本中的路径取决于你运行python脚本的路径,它与不同的IDEA不同。
推荐阅读
- google-bigquery - 我们可以使用“创建一个新的 BigQuery 表作为触发运行预定义 BigQuery 查询的事件”吗?
- javascript - 简单文件上传不适用于 Vue.js 和 Flask 框架
- jquery - 防止元素在jquery中向上移动DOM太远
- javascript - 从 Express Server 接收 JSON 数据时无法识别语法错误
- c# - 使用 ProvisionPackageForAllUsersAsync 安装 UWP 包
- r - R 从子元素中选择 XML 属性并生成数据框
- android - Kotlinx - 为视图使用不同的根视图
- angular - Angular mat-table:如何使用更新的资源作为响应刷新数据源?
- gatsby - Netlify 将图像保存为>- https://raw.githubusercontent.com
- html - 在 Bootstrap/HTML 中选中多个框