在Windows上,当我试图创建以下文件夹时:
os.mkdir('H:\\__ Photos\\____Photos to be sorted\\[ Photo sorting process ]\\_NEW\\__PROC_PHOTOS\\1. Original CRW')我发现了一个错误:
WindowsError:错误3系统找不到指定的路径:‘要排序的H:\_ Photos\___Photos [照片排序过程]\NEW\_PROC_PHOTOS\1。
"_NEW“文件夹已经存在,它是当前的工作目录。然后我试着用一个反斜杠:
os.mkdir('H:\__ Photos\____Photos to be sorted\[ Photo sorting process ]\_NEW\__PROC_PHOTOS\1. Original CRW')WindowsError:错误123 文件名、目录名或卷标签语法不正确:“要排序的H:\_ Photos\___Photos [照片排序过程]\NEW\_PROC_PHOTOS\x01。
所以“1”被转换成"\x01“。转义这个特殊的反斜杠会导致错误3,就像以前一样。
使字符串成为字符串文本:
os.mkdir(r'H:\__ Photos\____Photos to be sorted\[ Photo sorting process ]\_NEW\__PROC_PHOTOS\1. Original CRW')产生了同样的错误:
WindowsError:错误3系统找不到指定的路径:‘要排序的H:\_ Photos\___Photos [照片排序过程]\NEW\_PROC_PHOTOS\1。
然后:
os.mkdir("H:\[ Photo sorting process ]\\NEW")是错误的(“照片排序过程”不存在),但是:
os.mkdir("H:\[ Photo sorting process ]")
os.mkdir("H:\[ Photo sorting process ]\\NEW")挺好的。这是否意味着我只能创建一个级别的子目录?还有别的办法吗?我想以变量的形式传递路径。
发布于 2016-07-21 01:56:19
您可以使用os.makedirs而不是os.mkdir。从文件中:
递归目录创建函数。与mkdir()类似,但是使所有中间级别的目录都包含叶目录。
https://stackoverflow.com/questions/38493598
复制相似问题