728x90
반응형
오늘은 os와 shutil을 사용해 폴더 생성 및 삭제하기에 대해 포스팅을 하겠다.
os.mkdir()
기존 경로 형태는 다음과 같다.
예시로 "music_sample" 폴더 내에 새로운 폴더를 구성하겠다.
[폴더 생성]
os.mkdir()을 통해 원하는 경로에 특정 폴더를 구성할 수 있다.
import os
dir = './music_sample'
print(os.listdir(dir))
# ['0001.wav', '0002.wav', '0003.wav', '0004.wav', '0005.wav', '0006.wav', '0007.wav', '0008.wav', 'annotation.txt']
os.mkdir('./music_sample/new_folder')
print(os.listdir(dir))
# ['0001.wav', '0002.wav', '0003.wav', '0004.wav', '0005.wav', '0006.wav', '0007.wav', '0008.wav', 'annotation.txt', 'new_folder']
os.rmdir()
[폴더 삭제]
os.rmdir()을 통해 원하는 경로에 특정 폴더를 삭제할 수 있다.
os.rmdir('./music_sample/new_folder')
print(os.listdir(dir))
# ['0001.wav', '0002.wav', '0003.wav', '0004.wav', '0005.wav', '0006.wav', '0007.wav', '0008.wav', 'annotation.txt']
다만, 만약 삭제하고자 하는 경로 내부에 파일이 존재한다면 다음과 같은 오류가 발생한다.
말그대로 삭제하고자 하는 경로가 비어 있지 않은 것이다.
이때는 그 경로 하위 폴더 및 파일을 모두 지워도 되지만, 번거롭고 비효율적이다.
shutil.rmtree()
shutil 라이브러리의 rmtree를 활용하면 경로 내에 어떠한 파일이 있더라도 삭제가 된다.
[폴더 삭제]
shutil.rmtree() 활용.
import shutil
shutil.rmtree('./music_sample/new_folder')
print(os.listdir(dir))
# ['0001.wav', '0002.wav', '0003.wav', '0004.wav', '0005.wav', '0006.wav', '0007.wav', '0008.wav', 'annotation.txt']
다음과 같이 os와 shutil을 활용하여 새로운 경로를 생성하고 삭제할 수 있다.
필자는 빈 폴더를 생성할 때는 os.mkdir(), 폴더를 삭제할 때는 shutil.rmtree()를 주로 활용한다.
728x90
반응형
'Python > OS' 카테고리의 다른 글
[Python] os - 폴더 및 파일 이름 변경, 제거 (0) | 2022.09.09 |
---|---|
[Python] os - os.path 활용 (0) | 2022.09.09 |
[Python] os - 폴더 안에 파일 목록 출력 및 경로 변경 (0) | 2022.09.09 |
댓글