English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python 기본 튜토리얼

Python 흐름 제어

Python 함수

Python 데이터 타입

Python 파일操作

Python 객체와 클래스

Python 날짜와 시간

Python 고급 지식

Python 참조 매뉴얼

Python 디렉토리 및 파일 관리

이 기사에서는 Python에서의 파일과 디렉토리 관리를 배울 것입니다. 즉, 디렉토리를 생성하고, 이름을 변경하고, 모든 디렉토리를 나열하고, 그들을 사용하는 방법입니다.

Python에서의 디렉토리는 무엇인가요?

Python 프로그램에서처리해야 합니다대량의파일그렇다면 코드를 다른 디렉토리에 배치하여 관리가 더 쉬워질 수 있습니다.

디렉토리나 폴더는 파일과 서브 디렉토리의 집합입니다. Python은 os 모듈그것은 디렉토리(와 파일)를 사용하는 데 유용한 많은 메서드를 제공합니다.

현재 디렉토리 가져오기

getcwd() 메서드를 사용하여 현재 작업 디렉토리를 가져올 수 있습니다.

이 메서드는 문자열 형태로 현재 작업 디렉토리를 반환합니다. getcwdb() 메서드를 사용하여 바이트 오브젝트로 가져올 수도 있습니다.

>>> import os
>>> os.getcwd()
'C:\\Program Files\\PyScripter'
>>> os.getcwdb()
b'C:\\Program Files\\PyScripter'

추가적인 반좌표는 응축 시킬 수 있습니다. print() 함수는 올바르게 표시됩니다.

>>> print(os.getcwd())
C:\Program Files\PyScripter

디렉토리 변경

chdir() 메서드를 사용하여 현재 작업 디렉토리를 변경할 수 있습니다.

변경할 새 경로는 이 메서드에 문자열로 제공되어야 합니다. 정좌표를 사용할 수 있습니다./) 또는 반좌표(\)로 경로를 구분합니다.

반좌표를 사용할 때는 응축 시킬 수 있습니다.

>>> os.chdir('C:\\Python33)
>>> print(os.getcwd())
C:\Python33

디렉토리와 파일을 나열

listdir() 메서드를 사용하여 디렉토리 내의 모든 파일과 서브 디렉토리를��을 수 있습니다.

이 방법은 하나의 경로를 사용하고, 그 경로에 있는 서브 디렉토리와 파일 목록을 반환합니다. 경로를 지정하지 않으면 현재 작업 디렉토리에서 반환됩니다.

>>> print(os.getcwd())
C:\Python33
>>> os.listdir()
['DLLs',
'Doc',
'include',
'Lib',
'libs',
'LICENSE.txt',
'NEWS.txt',
'python.exe',
'pythonw.exe',
'README.txt',
'Scripts',
'tcl',
'Tools'
>>> os.listdir('G:\\')
['$RECYCLE.BIN',
'Movies',
'Music',
'Photos',
'Series',
'System Volume Information'

새 디렉토리 생성

mkdir() 메서드를 사용하여 새 디렉토리를 생성할 수 있습니다.

이 메서드는 새 디렉토리의 경로를 사용합니다. 전체 경로가 지정되지 않으면 현재 작업 디렉토리에서 새 디렉토리를 생성합니다.

>>> os.mkdir('test')
>>> os.listdir()
['test']

디렉토리나 파일을 이름을 바꾸기

rename() 메서드는 디렉토리나 파일을 이름을 바꿀 수 있습니다.

첫 번째 매개변수는 오래된 이름이며, 새 이름은 두 번째 매개변수로 제공되어야 합니다.

>>> os.listdir()
['test']
>>> os.rename('test','new_one')
>>> os.listdir()
['new_one']

디렉토리나 파일을 지우기

remove() 메서드를 사용하여 파일을 지울 수 있습니다.

또한, rmdir() 메서드는 비어 있는 디렉토리를 지울 수 있습니다.

>>> os.listdir()
['new_one', 'old.txt']
>>> os.remove('old.txt')
>>> os.listdir()
['new_one']
>>> os.rmdir('new_one')
>>> os.listdir()
[]

하지만, rmdir() 메서드는 비어 있는 디렉토리만 지울 수 있습니다.

비어 있지 않은 디렉토리를 지우기 위해 shutil 모듈 내부의 rmtree() 메서드를 사용할 수 있습니다.

>>> os.listdir()
['test']
>>> os.rmdir('test')
Traceback (최근 호출이 마지막):
...
OSError: [WinError 145]] 디렉토리가 비어 있지 않습니다: 'test'
>>> import shutil
>>> shutil.rmtree('test')
>>> os.listdir()
[]