서론
대회에서나 실생활에서 많이 사용될 파일(txt, 메모장)을 열고 닫고, 쓰는 키워드와 함수에 대해 배워보자.
열고 닫기
기본적으로 파일에 접근하기 위해서는 파일을 열어야 하고, 끝날 때에도 잊지 말고 꼭 닫아줘야 한다.
파일 객체 = open(문자열 : 파일 경로, 문자열 : 읽기 모드) #파일 열기
#이곳에 파일 관련 코드 작성
파일 객체.clse() #파일 닫기
읽기 모드에는 아래와 같은 모드들이 있다.
모드 | 설명 |
w | Write 모드(새로 쓰기 모드) |
a | Append 모드(뒤에 이어서 쓰기 모드) |
r | Read 모드(읽기 모드) |
r+ | 읽기와 쓰기 모드 |
file = open('basic.txt', 'w') #프로그램과 같은 폴더에 “basic.txt”가 생성
file.write('Hello Python progamming') #파일에 텍스트 쓰기
file.close()
#프로그램이 종료될 때는 열려 있는 파일을 모두 작동으로 닫고 종료됩니다. 그렇다고 close() 함수를 따로 사용하지 않아도 되는 것은 아니다
쓰기
write() 함수를 통해 파일에 글을 쓸 수 있다. "파일객체.write(쓸 글)"형식으로 사용된다.
file = open('basic.txt', 'w')
file.write('Hello Python progamming') #파일에 텍스트 쓰기
file.close()
읽기
read()함수를 통해 파일에 글을 읽을 수 있다. "파일 객체.read()"형식으로 사용된다.
file = open('basic.txt', 'w')
contents = file.read()
file.close()
print(contents)
with
with키워드는 파일을 열고 닫지 않는 실수를 하는 경우를 방지하기 위해 사용된다. "with open(파일 이름: 파일 경로, 문자열: 모드) as 파일 객체:"형식으로 사용된다. 파일 경로는 기본이 해당 파이썬 파일과 동일한 파일이며, 만약 다른 위치에 있는 파일에 접근하기 위해서는 “C:\???\???\???\파일이름.txt”과 같은 형식으로 붙이면 된다.
with open('basic.txt', 'r') as file:
contents = file.read()
print(contents)
기타
파이썬 파일과 관련된 함수에는 아래와 같은 것들이 있다.
tell() : 현재 위치 알려주는 함수
seek(pos) : pos 위치 표시자로 조작
dump() : 딕셔너리 해당 모듈로 압축(확장자 .p)
load() : 저장된 딕셔너리 복원
예시
with open('info.txt', 'r') as file:
for line in file:
(name, weight, height) = line.strip().split(',') #변수 선언
if (not name) or (not weight) or (not height): #잘 못 입력되어 있는 경우 skip
continue
bmi = int(weight) / (int(height)**2)
result = ""
if 25<=bmi:
result=“과체중”
elif 18.5<=bmi
result=“정상 체중”
else:
result = “저체중”
print('\n'.join(["이름: {}", "몸무게: {}", "키: {}", "BMI: {}", "결과: {}"]).format(name, weight, height, bmi, result))
주섬주섬
가끔 txt파일로 어느 형식에 맞게 답을 적으라는 교수님이 있는 데, 이러한 간단한 코드를 이용하여 채점하기 위해서 사용되기도 한다. 실제로 사용하거나 대회에 나갈 생각이 없다면 이런 게 있구나 하고 넘어가도 된다.
참고
반응형
댓글