[Basic] 텍스트파일 사용, with~as문

고보·2024년 1월 29일

Python 기초 강의 정리

목록 보기
13/15

1 텍스트 파일 사용

  • 기본 프로세스: 텍스트파일 => open() => 읽고, 쓰기 => close()
  • 아래는 처음에 파일 생성, 파일 읽어와서 그걸 수정, 다시 덮어쓰기의 흐름.
file = open('C:/python/test.txt', 'w') #디렉토리, w는 쓰기
strCnt = file.write('Hello world') #파일에 입력되고, 변수엔 글자 저장
file.close()

file = open('C:/python/test.txt', 'r') #읽기 모드
str1 = file.read() #str1에 파일 내용 str으로 저장
str1 = str1.replace('world', 'python') #str1에 내용 바꾸기
print(str1)
file.close()

file = open('C:/python/test.txt', 'w')
file.write(str1) #텍스트 파일 바꾼 내용 저장
file.close()
  • 디렉토리에는 \를 사용하거나 \를 2번 사용한다. \n \t 등과 헷갈려서?
  • 파일 모드 8가지 중 자주 쓰는 4가지
    • w: write. 쓰기. 파일 있으면 덮어쓴다.
    • a: append. 쓰기(추가하기). 파일 있으면 뒤에 덧붙인다.
    • x: 쓰기. 파일 있으면 에러 발생. 새 파일 생성 경우만 가능.
    • r: 읽기 전용. 파일 없으면 에러 쓴다.
  • 파일 읽는 방법 여러 가지
    • line = f.readline() 하면 첫 1줄 str으로 return. 그리고 이걸 for이나 while문으로 돌리면, 1줄, 2줄 순서대로 읽는다. 내부적으로 현재 위치 추적하고 기억해서, 다음 거를 불러오는 구조.
    • lines = f.readlines()하면 줄별로 str이 든 list로 return. 공백문자들도 포함되어서, line.strip()으로 공백문자(\n, \t, space) 제거 가능.
    • line = read() 내용 전체를 str으로 return.
  • 파일 쓰는 방법 여러 가지
    - f.write() 1줄 입력. 변수에 저장하면 길이가 저장된다.
    - f.writelines() 리스트 튜플 등 iterable 객체를 받는다. 줄바꿈은 별도로 없어서, 줄바꿈이나 띄워쓰기 하려면 각자 집어넣어야 한다.
    - 리스트, 딕셔너리, 튜플 등을 모양 그대로 넣기.
    with open(주소, 'a') as f: print(리스트or딕셔너리or튜플등, file=f)
    - 아래는 모두 같은 걸 입력하는 방법
for i in 리스트:
	with open('주소', 'a') as f:
		f.write(i + '\n')

with open(주소, 'a') as f:
	f.writelines(i + '\n' for i in 리스트)

with open(주소, 'a') as f:
	f.write('\n'.join(리스트))

2 with~as문

file = open('C:/python/test.txt', 'w') 
strCnt = file.write('Hello world') 
file.close()

with open('C:/python/test.txt', 'w') as f:
	f.write('Hello world')
  • 위의 2가지는 같다. with ~ as로
profile
일본에서 일하는 게임 기획자. 시시해서 죽어버리지 않게, 재밌고 의미 있는 컨텐츠에 관심 있습니다. 그 도구로 데이터, AI도 찝적댑니다.

0개의 댓글