VS代码中的相对路径不一致



我最近搬到了双启动Windows/Ubuntu系统,并在两者之间共享了我的脚本和VScode工作区。

因为我在两个不同的操作系统之间工作,所以我确保将所有文件路径更改为使用相对路径而不是绝对路径。然而,它们在VScode中似乎都被破坏了。

我做了一个简单的文件结构,试图找出问题是什么,但我没有任何运气

- Directory1:
- csv1.csv
- Directory2:
- csv1.csv
- test.py
对于test.py,我编写了一个超级简单的脚本来将csv文件加载到Pandas数据框架
import pandas as pd
df  = pd.read_csv("../csv1.csv")
print(df)

df = pd.read_csv("../csv1.csv")此相对路径适用于Ubuntu shell, Windows cmd和VS code(在Windows上)

df1 = pd.read_csv("Directory1/Directory2/csv2.csv")这个相对路径在VS代码中工作(在Ubuntu中)

我不知道该做什么,我试过到处找。如果我在VScode中打开相同的工作空间(在Ubuntu中),并尝试在同一目录中引用一个文件,我会得到一个错误,通知我它不存在。

您需要使用标准库pathlib中的Path对象,而不是常规字符串

https://docs.python.org/3/library/pathlib.html

这将避免Posix和Windows之间的差异导致这些问题

from pathlib import Path
import pandas as pd
p = Path('..') / 'csv1.csv'
df  = pd.read_csv(p)
print(df)

最新更新