2016-07-21 3 views
0

os.mkdir을 가진 폴더를 생성하고 사용 : 나는 오류가있어파이썬 : WindowsError 대괄호 나는 다음과 같은 폴더를 만들려고 윈도우,에

os.mkdir('H:\\__ Photos\\____Photos to be sorted\\[ Photo sorting process ]\\_NEW\\__PROC_PHOTOS\\1. Original CRW') 

을 :

WindowsError: [Error 3] The system cannot find the path specified: 'H:\__ Photos\____Photos to be sorted\[ Photo sorting process ]\_NEW\__PROC_PHOTOS\1. Original CRW'

을 "_new "폴더가 이미 존재하면 현재 작업 디렉토리입니다. 그 때 나는 하나의 백 슬래시를 사용하려고 :

os.mkdir('H:\__ Photos\____Photos to be sorted\[ Photo sorting process ]\_NEW\__PROC_PHOTOS\1. Original CRW') 

WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect: 'H:\__ Photos\____Photos to be sorted\[ Photo sorting process ]\_NEW\__PROC_PHOTOS\x01. Original CRW'

는 그래서 "\ 1"\ "의 X01 '으로 전환되었다. 이 백 슬래시를 이스케이프하면 앞에서와 마찬가지로 [오류 3] 오류가 발생합니다. 문자열을 문자열 리터럴 만들기

: 다음

WindowsError: [Error 3] The system cannot find the path specified: 'H:\__ Photos\____Photos to be sorted\[ Photo sorting process ]\_NEW\__PROC_PHOTOS\1. Original CRW'

:

os.mkdir(r'H:\__ Photos\____Photos to be sorted\[ Photo sorting process ]\_NEW\__PROC_PHOTOS\1. Original CRW') 

이 같은 오류가 발생

os.mkdir("H:\[ Photo sorting process ]\\NEW") 

가 (나쁜을 "[사진 정렬 과정]"didn를 존재하지 않음) :

os.mkdir("H:\[ Photo sorting process ]") 
os.mkdir("H:\[ Photo sorting process ]\\NEW") 

은 양호했다. 하위 디렉토리를 1 레벨 만 만들 수 있다는 의미입니까? 다른 방법이 있습니까? 경로를 변수로 전달하고 싶습니다.

답변

3

os.mkdir 대신 os.makedirs을 사용할 수 있습니다. 문서에서 :

Recursive directory creation function. Like mkdir(), but makes all intermediate-level directories needed to contain the leaf directory.