반응형
8.1 파일 열기, 읽기, 쓰기, 닫기
파일 열기
파일을 열기 위해서는 open()
함수를 사용합니다. 이 함수는 파일 경로와 모드를 인자로 받습니다. 모드에는 읽기 모드(r
), 쓰기 모드(w
), 추가 모드(a
), 이진 모드(b
), 텍스트 모드(t
) 등이 있습니다.
# 파일 열기
file = open("example.txt", "r") # 읽기 모드로 파일 열기
파일 읽기
파일을 읽는 방법에는 여러 가지가 있습니다. read()
, readline()
, readlines()
메소드를 사용합니다.
# 파일 전체 읽기
with open("example.txt", "r") as file:
content = file.read()
print(content)
# 파일 한 줄 읽기
with open("example.txt", "r") as file:
line = file.readline()
print(line)
# 파일 모든 줄 읽기
with open("example.txt", "r") as file:
lines = file.readlines()
print(lines)
파일 쓰기
파일에 데이터를 쓰기 위해서는 write()
메소드를 사용합니다. 쓰기 모드(w
)로 열면 기존 내용을 덮어쓰고, 추가 모드(a
)로 열면 기존 내용에 추가합니다.
# 파일 쓰기
with open("example.txt", "w") as file:
file.write("Hello, World!\n")
# 파일에 내용 추가
with open("example.txt", "a") as file:
file.write("Append this line.\n")
파일 닫기
파일을 사용한 후에는 close()
메소드를 사용하여 파일을 닫아야 합니다. 파일을 닫지 않으면 데이터 손실이나 리소스 누수 등의 문제가 발생할 수 있습니다. 하지만, with
구문을 사용하면 파일을 자동으로 닫을 수 있습니다.
file = open("example.txt", "r")
content = file.read()
file.close() # 파일 닫기
# with 구문을 사용하면 자동으로 파일을 닫음
with open("example.txt", "r") as file:
content = file.read()
8.2 with 문을 사용한 파일 처리
with
구문을 사용하면 파일을 자동으로 열고 닫을 수 있어 코드가 더욱 간결해지고 안전합니다. with
구문을 사용하면 파일 처리가 끝난 후 자동으로 파일이 닫힙니다.
with open("example.txt", "r") as file:
content = file.read()
print(content)
8.3 파일 경로와 디렉토리 조작 (os 모듈, pathlib 모듈)
os 모듈
os
모듈은 파일과 디렉토리를 조작하는 다양한 기능을 제공합니다.
import os
# 현재 작업 디렉토리 확인
print(os.getcwd())
# 디렉토리 변경
os.chdir("/path/to/directory")
# 디렉토리 내용 목록 확인
print(os.listdir("."))
# 디렉토리 생성
os.mkdir("new_directory")
# 파일 및 디렉토리 삭제
os.remove("example.txt")
os.rmdir("new_directory")
pathlib 모듈
pathlib
모듈은 객체 지향적 파일 시스템 경로를 제공합니다. Python 3.4부터 표준 라이브러리에 포함되었습니다.
from pathlib import Path
# 현재 작업 디렉토리 확인
current_dir = Path.cwd()
print(current_dir)
# 디렉토리 변경
os.chdir(current_dir / "subdir")
# 디렉토리 내용 목록 확인
for path in current_dir.iterdir():
print(path)
# 디렉토리 생성
new_dir = current_dir / "new_directory"
new_dir.mkdir()
# 파일 및 디렉토리 삭제
file_path = current_dir / "example.txt"
file_path.unlink() # 파일 삭제
new_dir.rmdir() # 디렉토리 삭제
반응형
'Python 문법 > Python 기본 문법(3.10 기준)' 카테고리의 다른 글
[python3.10 기본] 11. 모듈과 패키지 (1) | 2024.07.01 |
---|---|
[python3.10 기본] 9. 예외 처리 (1) | 2024.07.01 |
[python3.10 기본] 7. 문자열 조작 (1) | 2024.07.01 |
[python3.10 기본] 6. 데이터 구조 (1) | 2024.07.01 |
[python3.10 기본] 5. 함수 (0) | 2024.07.01 |