Files
python-examples/doc/08_01_file_io.md
2025-01-20 02:26:20 +09:00

81 lines
2.4 KiB
Markdown

# 파일 입출력
파이썬에서 파일 입출력은 프로그램 실행 중 데이터를 파일 시스템에 저장하거나 파일에서 데이터를 읽어오는 것을 의미합니다. 이를 통해 프로그램의 데이터를 영구히 저장하고 필요할 때 다시 사용할 수 있습니다.
## 파일 열기
파이썬에서는 open() 함수를 사용하여 파일을 엽니다.
```python
f = open("파일 이름", "모드")
```
* 파일 이름: 열고자 하는 파일의 경로를 지정합니다.
* 모드: 파일을 어떤 방식으로 열 것인지 지정합니다.
- r: 읽기 모드 (기본값)
- w: 쓰기 모드 (파일이 존재하면 내용을 덮어씀)
- a: 추가 모드 (파일 끝에 내용을 추가)
- x: 파일이 존재하지 않을 때만 생성
- b: 바이너리 모드 (이진 데이터 처리)
- t: 텍스트 모드 (기본값)
> - r+: 읽기와 쓰기를 동시에 수행합니다.
> - a+: 파일 끝에 내용을 추가하고 읽기 작업도 수행합니다.
> - rb, wb, ab: 바이너리 모드로 파일을 열 때 사용합니다.
## 파일 읽기
```python
f = open("data.txt", "r")
contents = f.read() # 파일 전체 내용 읽기
lines = f.readlines() # 파일을 줄 단위로 읽어 리스트에 저장
```
## 파일 쓰기
```python
f = open("output.txt", "w")
f.write("Hello, world!\n")
```
## 파일 닫기
```python
f.close()
```
## with 문을 사용한 안전한 파일 처리
with 문을 사용하면 파일 객체를 생성하고, 블록이 끝날 때 자동으로 파일을 닫아줍니다. 따라서 파일을 닫는 것을 잊어버릴 염려가 없습니다.
```python
with open("data.txt", "r") as f:
contents = f.read()
```
> 파일을 열 때는 항상 close() 메서드를 사용하여 파일을 닫아주는 것이 좋습니다.
> 파일을 쓰기 모드로 열면 기존 내용이 모두 삭제될 수 있습니다.
> 바이너리 파일을 다룰 때는 b 옵션을 사용해야 합니다.
```python
# 파일 읽기
with open("input.txt", "r") as f:
for line in f:
print(line, end="")
# 파일 쓰기
with open("output.txt", "w") as f:
f.write("Hello, world!\n")
f.write("This is a new line.")
```
# 파일 메서드
* file.read()
* file.readline()
* file.readlines()
* file.next()
* file.seek()
* file.tell()
* file.truncate()
* file.write()
* file.writelines()
* file.flush()
* file.close()