首页 > 解决方案 > mkdir 和 joinpath 在 Google 中不起作用

问题描述

 save_dir = Path('/OpenPose_Pose_transfer/data/source/roy')
 save_dir.mkdir(exist_ok=True)

 img_dir = save_dir.joinpath('images')
 img_dir.mkdir(exist_ok=True)

 %cd ~/OpenPose_Pose_transfer/data/source/roy/
 %cd ~/OpenPose_Pose_transfer/data/source/images/

没有这样的文件或目录:'/root/OpenPose_Pose_transfer/data/source/roy/' /root/OpenPose_Pose_transfer 没有这样的文件或目录:'/root/OpenPose_Pose_transfer/data/source/images/' /root/OpenPose_Pose_transfer

mkdir 和 joinpath 不适用于 Google Colab

标签: google-colaboratorymkdir

解决方案


来自pathlib 文档

如果 parents 为真,则根据需要创建此路径的任何缺少的 parent;它们是使用默认权限创建的,不考虑模式(模仿 POSIXmkdir -p命令)。

由于在您的情况下,父母可能还不存在,请将parents=True参数指定为mkdir(). 此外,最后一行应该是%cd /OpenPose_Pose_transfer/data/source/roy/images/因为imagesroy.

此外,由于您要在 处创建OpenPose_Pose_transfer目录/,因此不要在路径前面加上~(/root在 Colab 中扩展为)

更改代码:

 from pathlib import Path
 save_dir = Path('/OpenPose_Pose_transfer/data/source/roy')
 save_dir.mkdir(parents=True, exist_ok=True)

 img_dir = save_dir.joinpath('images')
 img_dir.mkdir(exist_ok=True)

 %cd /OpenPose_Pose_transfer/data/source/roy/
 %cd /OpenPose_Pose_transfer/data/source/roy/images/

推荐阅读