파이썬 중급6 - 텍스트파일

Jasmine·2023년 3월 23일
0

파이썬 중급

목록 보기
6/12

텍스트 파일 쓰기

  • 텍스트 파일이 있을 때, 사용 순서
    : 열기 > 읽기 or 쓰기 > 닫기

파일 열기 : open()
읽기 또는 쓰기 : read() / write()
파일 닫기 : close()

  • 텍스트 파일 쓰기
  • 파일 열기 : open('디렉토리', '모드')
    ( w: 쓰기모드 / r: 읽기모드 )
  • w모드는 경로 내 그 이름 파일이 없으면 새로 생성한다
  • file.write(' ')안에 쓰는 글은, 기존의 내용을 없애고 '덮어쓰기'한다.

*주의할 점 : 디렉토리 경로 copy할 때, 역슬래시(\)→슬래시( / )로 바꿔주기

📋실습 : 다음과 같이 시스템 시간과 일정을 텍스트 파일에 작성해 보자.

  • time 모듈
  • time.localtime : 현재시간
  • tm_year, tm_mon, tm_mday

- 세련된 시간 표시 방식

  • time.strftime()
  • 연Y 월m 일d / 12시간I 24시간H 분M 초S 오전오후p

텍스트 파일 읽기

  • read() 함수를 이용한 파일 문자열 읽기
  • 숫자든 문자든, str(문자열)로 읽는다
  • 열고 > 읽고 > 닫고

📋실습 : 다음 텍스트 파일에서 ‘Python’을 ‘파이썬’으로 변경해서 파일에 다시 저장해보자

  • UnicodeDecodeError : 인코딩이 안맞는 경우 발생하는 에러
    → 해결법 : open('경로', 'r', encoding='UTF8')
  • replace('Pyton', '파이썬') : 전체 다 바꾸기
    replace('Pyton', '파이썬', 2) : 처음 2개만 바꾸기
  • str 변수에 먼저 선언을 한 후,
    open , write해서 바꾸고, close

텍스트 파일 열기

  • 파일 모드 : 다양한 쓰기 모드, 읽기는 한 가지
  • 1) w모드 : 덮어 쓰기

: Hello world!! 후 Hello Python!!으로 바뀜 (덮어씀)

  • 2) a모드 : 덧붙여 쓰기

: Hello Python!! Hello data science!! (덧붙여짐)

  • 3) x모드 :

: 기존파일이 있으면 에러가 남. 새로운 파일명으로 해야함.
: Nice to meet you!!

  • 4) r모드 : 읽기

: str: Nice to meet you!!

📋실습 : 사용자가 입력한 숫자에 대한 소수를 구하고 이를 파일에 작성해보자

  • 쓰려면, 구해진 숫자를 문자화 해야함 str(n)
  • 소수를 구하는 코드

with ~ as문

  • with ~ as문을 이용하면 파일 닫기(close)를 생략할 수 있다

📋실습 : 로또 번호 생성기 프로그램을 만들고 파일에 번호를 출력해 보자.

  • 조건문 로직 : 5번째 수 까지는 ,를 찍어 연결하고, 6번째 수는 ,가 없고, 마지막 수는 bonus

writelines()

  • writelines()는 리스트 또는 튜플 데이터를 파일에 쓰기 위한 함수이다


    : writelines 그냥 쓰면 개행 없이 쭉 이어져서 써진다
f.writelines(item + '\n' for item in languages)

: 개행을 추가

📋실습 : 딕셔너리에 저장된 과목별 점수를 파일에 저장하는 코드를 작성하자

1) 세로 모양으로 저장

  • 점수(숫자) str로 캐스팅 하기
  • 딕셔너리의 key, value값을 사용.

2) 가로로 딕셔너리/리스트 그대로 저장


readlines(), readline()

  • readlines() : 파일의 모든 데이터를 읽어서 리스트 형태로 반환한다

    : 눈에 보이지 않는 개행까지 읽어옴.
    : 리스트로 반환
  • readline() : 한 행을 읽어서 문자열로 반환 한다.

    : 라인이 공백이 아니라면 프린트 해라
    : 한 행씩 읽어들인 것이 보여짐
    : 이미 개행이 되어있는 파일이라, end=''처리를 해서 개행을 안하도록 처리

📋실습 : 파일에 저장된 과목별 점수를 파이썬에서 읽어, 딕셔너리에 저장하는 코드를 만들어보자

  • 위에서는 그대로 읽어낸걸, 여기서는 딕셔너리로 형태를 바꾸는 작업이 추가된 것임
  • split 키워드
  • index가 0 : key가 되고, 1 : value가 되도록
  • strip 키워드 : 그 값을 없앰. 잘라버림.
  • 읽어낸 문자(숫자도 문자로 읽음)를 int로 캐스팅 하기

.
.
.

🔥제로베이스 데이터 사이언스 취업스쿨 13기🔥

profile
데이터직무를 위한 공부 기록

0개의 댓글