首页 > 解决方案 > 为什么 os.path.join 返回带有 2 个斜杠的结果?

问题描述

为什么它添加 2 '\' 而不是 1 '/'?我正在尝试在我的模型的火车目录中创建一个猫文件夹(使用 Jupyter Notebook),我将在其中放置猫的图像。因为它 os.path.join 返回 2 '\' 这就是我无法通过代码复制/放置图像的原因。任何人都可以帮助我更好地理解 os.path.join ,因为我已经阅读了几篇文章,但这些都没有帮助

base_dir = "CNN_Working/cats_and_dogs_small"
train_dir = os.path.join(base_dir, 'train')
os.mkdir(train_dir)

train_cats_dir = os.path.join(train_dir, 'cats')
os.mkdir(train_cats_dir)

train_cats_dir

这就是它返回的内容

'CNN_Working\\cats_and_dogs_small\\train\\cats'

而不是一个'/'它返回2'\'?

标签: pythonos.pathpath-separator

解决方案


看起来您正在使用 Windows 系统。

在 MacOS 上运行您的代码,我得到:

(base) X 68884371 % python3 script.py
CNN_Working/cats_and_dogs_small/train
CNN_Working/cats_and_dogs_small/train/cats

在 Windows 上运行时,目录分隔符是\,而不是/. 但是,由于 Python 的转义,当您打印它时,您会看到\\,因为 Python 转义了斜线。


推荐阅读