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 책을 참조하였습니다.

댓글