9장: 파일 시스템
파이썬에서는 파일 시스템과 상호작용하기 위한 다양한 모듈과 기능을 제공합니다. 이 장에서는 파일 및 디렉터리 작업을 수행하는 방법에 대해 알아보겠습니다.
#### 9.1 파일 경로 다루기
`os` 모듈과 `pathlib` 모듈을 사용하여 파일 경로를 다룰 수 있습니다. `os.path`는 다양한 경로 조작 기능을 제공하며, `pathlib`는 객체 지향적인 인터페이스를 제공합니다.
```python
import os
# 현재 작업 디렉터리 얻기
current_dir = os.getcwd()
print(current_dir)
# 경로 결합
new_path = os.path.join(current_dir, 'new_directory', 'file.txt')
print(new_path)
from pathlib import Path
# 현재 작업 디렉터리 얻기
current_dir = Path.cwd()
print(current_dir)
# 경로 결합
new_path = current_dir / 'new_directory' / 'file.txt'
print(new_path)
```
#### 9.2 디렉터리 생성 및 제거
디렉터리를 생성하고 제거하려면 `os` 모듈의 `mkdir()`와 `rmdir()` 함수를 사용할 수 있습니다. `pathlib` 모듈의 `Path` 객체를 사용해도 됩니다.
```python
import os
# 디렉터리 생성
os.mkdir('new_directory')
# 디렉터리 제거
os.rmdir('new_directory')
from pathlib import Path
# 디렉터리 생성
Path('new_directory').mkdir()
# 디렉터리 제거
Path('new_directory').rmdir()
```
#### 9.3 파일 생성, 읽기, 쓰기, 삭제
파일을 생성하고 읽고 쓰고 삭제하는 방법에 대해 알아보겠습니다.
```python
# 파일 생성 및 쓰기
with open('example.txt', 'w') as file:
file.write('Hello, World!')
# 파일 읽기
with open('example.txt', 'r') as file:
content = file.read()
print(content)
# 파일 삭제
os.remove('example.txt')
```
#### 9.4 파일 및 디렉터리 목록 가져오기
디렉터리 내의 파일 및 서브 디렉터리 목록을 가져오려면 `os.listdir()` 함수를 사용합니다. `pathlib` 모듈의 `Path` 객체도 이 작업을 수행할 수 있습니다.
```python
import os
# 현재 디렉터리의 파일 및 디렉터리 목록
entries = os.listdir('.')
print(entries)
from pathlib import Path
# 현재 디렉터리의 파일 및 디렉터리 목록
entries = list(Path('.').iterdir())
print(entries)
```
#### 9.5 파일 및 디렉터리 존재 여부 확인
파일이나 디렉터리가 존재하는지 확인하려면 `os.path.exists()` 함수를 사용합니다. `pathlib` 모듈의 `Path` 객체도 이 작업을 수행할 수 있습니다.
```python
import os
# 파일 존재 여부 확인
file_exists = os.path.exists('example.txt')
print(file_exists)
from pathlib import Path
# 파일 존재 여부 확인
file_exists = Path('example.txt').exists()
print(file_exists)
```
#### 9.6 파일 복사 및 이동
`shutil` 모듈을 사용하여 파일을 복사하거나 이동할 수 있습니다.
```python
import shutil
# 파일 복사
shutil.copy('source.txt', 'destination.txt')
# 파일 이동
shutil.move('source.txt', 'new_location.txt')
```
#### 9.7 파일 크기 및 속성 확인
파일의 크기와 속성을 확인하려면 `os.path` 모듈의 함수를 사용합니다.
```python
import os
# 파일 크기 확인
file_size = os.path.getsize('example.txt')
print(file_size)
# 파일 속성 확인
file_info = os.stat('example.txt')
print(file_info)
```
#### 9.8 임시 파일 및 디렉터리 사용
`tempfile` 모듈을 사용하여 임시 파일 및 디렉터리를 생성할 수 있습니다.
```python
import tempfile
# 임시 파일 생성
with tempfile.NamedTemporaryFile(delete=False) as temp_file:
print(temp_file.name)
# 임시 디렉터리 생성
with tempfile.TemporaryDirectory() as temp_dir:
print(temp_dir)
```
#### 9.9 작업 디렉터리 변경
`os.chdir()` 함수를 사용하여 현재 작업 디렉터리를 변경할 수 있습니다.
```python
import os
# 현재 작업 디렉터리 변경
os.chdir('/path/to/new_directory')
print(os.getcwd())
```
이상으로, 파이썬에서 파일 시스템과 관련된 작업을 수행하는 방법에 대해 알아보았습니다. 다음 장에서는 데이터베이스와 관련된 작업에 대해 더 자세히 알아보겠습니다. 질문이나 요청사항이 있으시면 댓글로 남겨주세요!
---
이 글의 내용은 GoalKicker.com의 Python Notes for Professionals 책을 참조하였습니다.
댓글
댓글 쓰기