logo

파이썬 | os.makedirs() 메서드

os 모듈의 모든 함수는 OS오류 유효하지 않거나 액세스할 수 없는 파일 이름 및 경로 또는 올바른 유형을 가지고 있지만 운영 체제에서 허용되지 않는 기타 인수의 경우. 이번 글에서는 os 모듈을 사용하여 재귀적으로 디렉터리를 생성하는 방법과 os.makedirs() 메서드에 대해 살펴보겠습니다.

Python os.makedirs() 함수 구문

통사론: os.makedirs(경로, 모드 = 0o777,exist_ok = False)



매개변수:

  1. : 파일 시스템 경로를 나타내는 경로류 객체입니다. 경로류 객체는 경로를 나타내는 문자열 또는 바이트열 객체입니다.
  2. 방법 (선택 사항) : 새로 생성된 디렉터리의 모드를 나타내는 정수 값입니다. 이 매개 변수를 생략하면 기본값 Oo777이 사용됩니다.
  3. 존재_확인 (선택 사항) : 이 매개변수에는 기본값 False가 사용됩니다. 대상 디렉터리가 이미 존재하는 경우 해당 값이 False이면 OSError가 발생하고 그렇지 않으면 그렇지 않습니다. 값이 True이면 디렉터리가 변경되지 않은 상태로 유지됩니다.

반환 유형: 이 메서드는 어떤 값도 반환하지 않습니다.

Python의 os.makedirs() 메서드

os.makedirs() 방법 파이썬 재귀적으로 디렉터리를 생성하는 데 사용됩니다. 이는 중간 수준 디렉터리가 누락된 경우 리프 디렉터리를 만드는 동안, os.makedirs() 방법은 그것들을 모두 생성합니다.



예를 들어 다음 경로를 고려해보세요.

/home/User/Documents/GeeksForGeeks/Authors/ihritik>

'ihritik' 디렉터리를 만들고 싶지만 경로에서 'GeeksForGeeks' 및 'Authors' 디렉터리를 사용할 수 없다고 가정합니다. 그 다음에 os.makedirs() 메소드는 지정된 경로에 사용할 수 없거나 누락된 모든 디렉토리를 생성합니다. 'GeeksForGeeks'와 'Authors'가 먼저 생성된 후 'ihritik' 디렉토리가 생성됩니다.

Python os.makedirs() 함수 예제

다음은 os.makedirs() 함수를 사용하여 재귀적으로 디렉터리를 생성하는 방법을 볼 수 있는 몇 가지 예입니다. 운영 체제 모듈 :



다음을 사용하여 디렉토리 생성os.makedirs()>

이 예에서는os.makedirs()>메서드는 중첩된 디렉터리를 만드는 데 사용됩니다. 첫 번째 섹션에서는 Authors 디렉터리 경로 내에 ihritik이라는 디렉터리를 만듭니다. 지정된 권한이 있는 두 번째 섹션에서는 techcodeview.com/a/b 내에 중첩된 c 디렉터리를 생성합니다.

파이썬3




import> os> # Leaf directory> directory>=> 'ihritik'> # Parent Directories> parent_dir>=> '/home/User/Documents/GeeksForGeeks/Authors'> # Path> path>=> os.path.join(parent_dir, directory)> # Create the directory 'ihritik'> os.makedirs(path)> print>(>'Directory '%s' created'> %> directory)> # Leaf directory> directory>=> 'c'> # Parent Directories> parent_dir>=> '/home/User/Documents/techcodeview.com/a/b'> # mode> mode>=> 0o666> path>=> os.path.join(parent_dir, directory)> os.makedirs(path, mode)> print>(>'Directory '%s' created'> %> directory)>

>

>

산출:

Directory 'ihritik' created Directory 'c' created>

os.makedirs() 메소드 사용 중 오류

이 예에서는os.makedirs()>메서드는 GeeksForGeeks 경로 내에 ihritik이라는 디렉터리를 만들려고 시도합니다. 디렉터리가 이미 존재하는 경우 메서드는OSError>. 성공적으로 생성되면 확인 메시지가 인쇄됩니다.

자바 연결

파이썬3




import> os> # Directory> directory>=> 'ihritik'> # Parent Directory path> parent_dir>=> '/home/User/Documents/GeeksForGeeks'> # Path> path>=> os.path.join(parent_dir, directory)> # Create the directory 'ihritik'> os.makedirs(path)> print>(>'Directory '%s' created'> %> directory)>

>

>

산출:

Traceback (most recent call last):  File 'makedirs.py', line 21, in   os.makedirs(path)  File '/usr/lib/python3.6/os.py', line 220, in makedirs  mkdir(name, mode) FileExistsError: [Errno 17] File exists: '/home/User/Documents/GeeksForGeeks/ihritik'>

os.makedirs() 메소드 사용 중 오류 처리

이 예에서는os.makedirs()>방법은 다음과 함께 사용됩니다.exist_ok>매개변수가 다음으로 설정됨True>억제하다OSError>디렉토리가 이미 존재하는 경우. 디렉터리가 없으면 생성됩니다. 그러나 다른OSError>유효하지 않은 경로 이름과 같은 예외가 여전히 발생할 수 있으며 별도로 처리해야 합니다.

파이썬3




import> os> # Directory> directory>=> 'ihritik'> # Parent Directory path> parent_dir>=> '/home/ihritik/Desktop/GeeksForGeeks'> # Path> path>=> os.path.join(parent_dir, directory)> # Create the directory 'ihritik'> try>:> >os.makedirs(path, exist_ok>=>True>)> >print>(>'Directory '%s' created successfully'> %> directory)> except> OSError as error:> >print>(>'Directory '%s' can not be created'>)>

>

>

산출:

Directory 'ihritik' created successfully>