Python os.getcwd() 不适用于 VSCODE 中的子文件夹

Iva*_*rra 3 python pandas visual-studio-code

我有一个从 Jupiter Notebook 转换而来的 python 文件,该文件夹内有一个名为“datasets”的子文件夹。当我尝试使用以下代码打开“数据集”文件夹内的文件时:

import pandas as pd
# Load the CSV data into DataFrames
super_bowls = pd.read_csv('/datasets/super_bowls.csv')
Run Code Online (Sandbox Code Playgroud)

它说没有这样的文件或文件夹。然后我添加这一行

os.getcwd()
Run Code Online (Sandbox Code Playgroud)

并且输出是项目的顶级文件夹,而不是此 python 文件的子文件夹。我想也许这就是它不起作用的原因。

那么,如何使用相对路径打开该 csv 文件呢?我不想使用绝对路径,因为此代码将在另一台计算机上使用。

为什么 os.getcwd() 没有获取实际的文件夹路径?

Ans*_*hul 5

据我观察,根据操作系统的不同,移动到父目录的点 (.) 符号有时不起作用。我通常会做这样的事情来使其与操作系统无关:

import pandas as pd
import os

__location__ = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__)))

super_bowls = pd.read_csv(__location__ + '/datasets/super_bowls.csv')
Run Code Online (Sandbox Code Playgroud)

这在我的 Windows 和 ubantu 机器上同样有​​效。我不确定是否还有其他更好的方法来实现这一目标。如果有的话想听听。