python - 在 Python 中引用子目录之间的文件的正确方法和 VSCode 设置是什么

标签 python visual-studio-code vscode-settings relative-path

我有一个包含几个子文件夹的文件夹,如下所示:

my-project/
  input/
    data.csv
  src/
    script.py

我想从 script.py 中的 my-project/input/data.csv 读取数据,所以我有:

import pandas as pd
data = pd.read_csv('../input/data.csv')

但是,我的工作区是 my-project 所以当我运行 script.py 时它返回:

Exception has occurred: FileNotFoundError [Errno 2] No such file or directory: '../input/data.csv

这是可以理解的,因为inputmy-project中,不在同一层级。然而,使用 .. 引用确实感觉像是引用 data.csv 的正确方法,就像我们从 script.py 中所做的那样。但也许我错了?

如果这是引用我的数据文件的合理方式——我如何设置 VSCode 以便能够运行脚本而不返回错误?我认为应该有一种方法可以将子文件夹添加到搜索路径,而无需将子文件夹作为工作区打开,但我在尝试找到它时运气不佳。

@Edit:请注意,我知道相对/绝对路径的概念。这个问题更多是关于 VSCode 设置的。我也愿意接受这个答案:“不,在这个设置中引用 ../input/data.csv 是愚蠢的事情。你应该引用 input/data。 csv 而不是,因为...”(这与我目前的理解相矛盾,但我可能完全错了,我很乐意学习不同的观点)

最佳答案

相信这比你想象的要简单,一起来做吧!

  1. Creating empty folder

  2. Openning it with VSCode

使用的扩展......

  1. Extensions

我相信下面的步骤并不难!

  1. Essential steps

将默认解释器切换到创建的虚拟环境

  1. Virtual environment

创建一个简单的 launch.json,使用简单的选择python 脚本

  1. Creating launch.json

  2. Launch.json file sample

猜猜现在是什么!我们现在要做的就是在编辑器中选择一个 script.py 文件,然后...... RUN!

  1. After running a script

您可以在终端中看到结果。

让我们谈谈......

生成的 launch.json 文件会强制我们在每次要启动程序时单击开始按钮之前在编辑器中选择“**src.script.py”,如果您愿意,我可以建议一个更恰当的方法

在第6步中,你可以选择Module而不是Python file,之后编辑器会提示你一个字段要求模块名称,我们的输入必须是< strong>src.script.

我们将像这样得到我们的 launch.json 文件......

New launch.json

现在,我们可以从我们想要的地方启动程序,这意味着如果在编辑器中打开的文件是“src/data.json”,例如, 转到调试器部分并单击开始将始终启动 src/script.py 文件。

关于python - 在 Python 中引用子目录之间的文件的正确方法和 VSCode 设置是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66382253/

相关文章:

python - LDA主题建模输入数据

python - 嵌套 SQL 查询太慢

Python:在 double_scalars 中捕获运行时溢出

python - matplotlib 可以打印网格交叉点而不是图上的网格线吗?

visual-studio-code - VS Code 从命令行安装扩展在证书上失败

node.js - NodeJS 调试在 127.0.0.1 :42457 failed: address already in use error 上启动检查器

visual-studio-code - 从 VS Code 运行 F# Hello World

typescript - 如何修复 Typescript linting 在 VSCode 中不起作用的问题?

editor - VS代码小 map “location highlighting”

visual-studio-code - Git Commits View 未显示在 VSCode 源代码控制面板中