English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 기사에서는 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() []