os모듈에서는 디렉토리 관리를 위하여 아래와 같은 함수를 제공합니다.
- 조회
- getcwd() : 현재 디렉토리 경로 리턴
- listdir() : 현재 디렉토리의 파일 및 폴더 목록 리턴
- path.exists(디렉토리/파일 경로) : 해당 디렉토리 경로 또는 파일이 존재하는지 여부 리턴(True/False)
- 이동
- chdir(디렉토리 경로) : 디렉토리 이동
- 생성
- mkdir(디렉토리 경로) : 경로 마지막에 폴더 하나 생성
- makedirs(디렉토리 경로) : 디렉토리 경로 그대로 생성
- 삭제 (비어있는 폴더만 삭제 가능)
- rmdir(디렉토리 경로) : 경로 마지막 폴더 하나 삭제
- removedirs(디렉토리 경로) : 경로에 해당하는 폴더 가능한 모두 삭제
실습 코드를 통하여 함수 사용법을 알아보겠습니다.
■ 먼저 os 모듈을 import 합니다.
import os
■ 현재 디렉토리 경로를 출력합니다.
print(os.getcwd())
[출력결과 예시] c:\work\python
■ 현재 디렉토리의 파일/폴더 리스트를 출력합니다.
print(os.listdir())
[출력결과 예시]
['.ipynb_checkpoints', '02-1. 파이썬 첫걸음.ipynb' , '02-2 기본자료형 다루기.ipynb', '02-3 자료형과연산.ipynb', '02-4 문자열 다루기.ipynb', '03-1. 선택구조.ipynb', '03-2 횟수로반복하기.ipynb', '03-3. 조건으로 반복하기.ipynb', '03-4. 알고리즘 연습하기.ipynb', '04-1. 리스트와 튜플.ipynb', '04-2. 인덱싱과 슬라이싱.ipynb', '04-3. 리스트 변경하기.ipynb', , '04-4. 리스트 활용과 2차원리스트.ipynb', '04-5 리스트연습하기.ipynb', '05-1. 딕셔너리 만들고 값 추출하기.ipynb','05-2. 딕셔너리 변경하기.ipynb', '05-3. 딕셔너리의 키,값 다루기.ipynb', '05-4. 딕셔너리 연습하기.ipynb', '06-1. 함수만들기.ipynb', '06-2 함수의 결과값 받아서 사용하기.ipynb', '06-3 인수 전달 방법.ipynb', '06-4 함수에서 변수 사용하기.ipynb','06-5. 람다표현식과 map함수.ipynb', '07-1 클래스.ipynb', '07-2 모듈과 패키지.ipynb','07-3. 모듈 사용하기.ipynb']
■ 특정 디렉토리경로의 폴더/파일의 존재 여부를 출력합니다.
print(os.path.exists('c:/work'))
[출력결과 예시] True
print(os.path.exists('d:/work'))
[출력결과 예시] False
print(os.path.exists('c:/work/python/07-3. 모듈 사용하기.ipynb'))
[출력결과 예시] True
■ 디렉토리를 이동합니다. ( 미리 만들어 둔 c:\test로 이동하겠습니다.)
os.chdir('c:/test')
print(os.getcwd())
[출력결과 예시] c:\test
→ 현재 디렉토리 경로를 출력해보니 잘 이동된 것을 확인할 수 있습니다.
■ 디렉토리를 생성합니다.
1. 현재 경로의 마지막에 temp1 폴더 하나 생성
os.mkdir('temp1')
print(os.listdir())
[출력결과 예시] ['temp1']
→ 현재 디렉토리의 파일/폴더 리스트를 출력해보니 폴더가 잘 생성된 것을 확인할 수 있습니다.
2. 디렉토리 경로 생성
os.makedirs('c:/test/temp2/temp2_1/temp2_2')
→ 탐색기를 이용하여 확인해보니, 해당 디렉토리 경로가 생성된 것을 확인할 수 있습니다.
■ 디렉토리를 삭제합니다. (디렉토리가 비어있어야 삭제 가능)
1. 마지막 디렉토리 하나 삭제
os.rmdir('c:/test/temp1')
→ temp1 디렉토리만 삭제됩니다.
2. 경로의 디렉토리 모두 삭제
os.removedirs('c:/test/temp2/temp2_1/temp2_2')
→ 맨 끝의 디렉토리 temp2_2부터 순서대로 삭제되며, 삭제가 불가능한 디렉토리를 만날 때까지 모든 경로의 디렉토리를 삭제합니다.
'파이썬' 카테고리의 다른 글
[파이썬] 셀레니움(selenium) find_element, xpth (0) | 2022.11.15 |
---|---|
[파이썬] 셀레니움(selenium)으로 자동 검색하기 (0) | 2022.11.15 |
목록에서 제목,링크 스크래핑하기 (0) | 2022.10.25 |
BeautifulSoup으로 데이터 추출하기 (0) | 2022.10.24 |
Requests 라이브러리로 HTTP 요청하기 (0) | 2022.10.21 |