打印到控制台时路径正确,但在 pandas .to_csv 方法中不正确

Path is correct when printed to console, but not in pandas .to_csv method

这是一个我不明白的令人沮丧的问题:

from pathlib import Path
DATA_DIR = "c:/my/dir/"
[...]
df.to_csv(Path(DATA_DIR).parent.joinpath(DATA_DIR, "c_bat.csv"))

这给出了一个错误:

FileNotFoundError: [Errno 2] No such file or directory: 'C:\my\dir\c_bat.csv'

但是,当我这样做时:

print(Path(DATA_DIR).parent.joinpath(DATA_DIR, "c_bat.csv"))

打印正常:

C:\my\dir\c_bat.csv

为什么 Print 做对了,但 df.to_csv 却错得如此离谱,表面上看是完全相同的代码?

使用 pathlib 处理连接路径的最实用方法是“斜线” 运算符,如下代码所示:

# Common name used in pathlib examples
p = Path(DATA_DIR)
[...]
df.to_csv(p / "c_bat.csv"))