VS代码中的相对路径不一致
Relative pathway inconsistency in VS code
我最近转移到双启动 Windows/Ubuntu 系统并在两者之间共享了我的脚本和 VScode 工作区。
因为我在两个不同的 OS 之间工作,所以我确保更改所有文件路径以使用相对路径而不是绝对路径。然而,它们在 VScode un ubuntu.
中似乎都损坏了
我制作了一个简单的文件结构来尝试找出问题所在,但我运气不好
- 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 代码(在 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)
我最近转移到双启动 Windows/Ubuntu 系统并在两者之间共享了我的脚本和 VScode 工作区。
因为我在两个不同的 OS 之间工作,所以我确保更改所有文件路径以使用相对路径而不是绝对路径。然而,它们在 VScode un ubuntu.
中似乎都损坏了我制作了一个简单的文件结构来尝试找出问题所在,但我运气不好
- 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 代码(在 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)