본문 바로가기
개발/파이썬

23.03.13파이썬의 파일 입출력

by 상달군 2023. 3. 13.
728x90

목차

1. 파이썬의 파일 입출력

  • 파일 열기
    • 파일 열기
    • 파일 경로
    • 파일 읽어오기
    • with 문
    • readline() 메소드
    • readlines() 메소드
  • 인코딩과 디코딩
    • 인코딩
    • 디코딩

 

21.파일 입출력.ipynb

1.파일 열기 

  • 파일을 만들던지, 수정하던지 일단 무조건 파일을 먼저 열어야함
파일변수 = open('파일이름'.'파일 열기 모드 및 종류모드')
  • 파일 열기 모드
    • w 출력
    • r 입력
    • a 추가출력
    • w는 지정된 경로에 파일이 없으면, 파일을 만든후 저장하고, 파알이 있으면 기존의데이터를 지우고 다시 저장
    • r은 지정된 경로에 파일이 없으면 에러, 있으면 해당 파일의 데이터를 읽어옴
    • a는 지정된 경로에 파일이 없으면 파일을 만든 후 저장하고, 파일이 있으면 기존의 데이터 뒤에 이어서 저장
  • 파일 종류 모드
    • t(텍스트 파일): 생략가능, 우리가 볼수 있는 글을 적은 파일
    • b(바이너리파일): 2진으로 저장되어 컴퓨터만 알아볼수 있는 파일 예)영상, 음악, 소리...
input = open('text.txt', 'r')   #텍스트파일 열기 모드(t생략) 
input = open('text.txt', 'rt')  #텍스트파일 열기 모드 

input = open('apple.jpg', 'rb') #바이너리 파일 열기 모드 
  • 💢 파일을 출력할때 작업이 모두 완료되면 반드시 .close()메소드를 사용해서 파일을 닫아야 정상적으로 데이터가 저장 된다.

//스트림이라는 os한테 힘을 빌려 저장한다. 파이썬에서 입력 받은 파일을 os에게 전달 하고 파일을 만들때 결국 파일을 만드는건 os가 만들어주게 된다.

//파이썬이 내용을 가져오고 싶을땐 : os에한테 경로주소만 넘겨주면 os가 확인후에 파이썬에게 스트림을 통해 내용을 열어 전달 해준다.

1-1.파일 열기

  • 예제)

1-2.파일 경로

  • 절대 경로 / 상대 경로
    • 절대경로: 디스크 드라이브의 최상위(root) 디렉토리부터 파일이 저장 또는 읽어올 디렉터리까지의 경로 예) C:\na\python\Day1 #역슬러시()는 시스템에 따라 못 불러 올수 있어 보통 슬러시(/)를 많이 사용된다.
    • 상대경로: 현재 화면에 표시되는 소스파일이 위치한 디렉토리부터 파일이 저장 또는 읽어올 디렉토리까지의 경로
      • 같은 디렉토리: 파일명 또는 ./파일명
      • 상위 디렉토리: ../파일명 또는 ./../파일명
      • 하위 디렉토리: 디렉토리명/파일명 또는 ./디렉토리명/파일명
       
  • 예제) 파일명에 경로를 입력 

1-3.파일 읽어오기

  • read() 메소드 : 파일로부터 전체 데이터를 읽어옴

  • read(size) 10 만큼 읽어 옴 

 

1-4.with 문

  • 자원을 획득하고 사용 후 반납해야 하는 경우 블록으로 사용하는 문장
  • with 문 안으로 집어 넣으면 별명을 사용해서 사용가능 하며 close()도 사용해줄필요 없다.
with open('파일이름'.'파일 열기 모드 및 종류모드') as '별명':

    소스코드


사용법 ->  f.write(data +'\n')

 

1-5.readline() 메소드

  • 텍스트파일을 한줄씩 읽어서 처리
  • 파일이 종료되어 더이상 읽을수 없으면 빈 문자열 ''을 읽어온다.

1-5.readlines() 메소드

2.인코딩과 디코딩

  • 사용하는 이유
    • 모든 컴퓨터는 기본적으로 바이트 계산을 하기때문에 데이터를 전송할때 받아올때 쓰인다.
    • 시스템의 데이터를 주고 받을때 많이 쓰인다 !!!

2-1.인코딩

  • 컴퓨터에서 사람이 인지할 수 있는 형태의 데이터를 약속된 규칙에 의해 컴퓨터가 사용하는 0과 1로 변환하는 과정
  • 인코딩 = 코드화 = 암호화 = 부호화
  • 예) 아스키코드 인코딩, URL 인코딩, Base64 인코딩, 유니코드 인코딩, ...
  • 파이썬은 유니코드 인코딩을 사용한다.
  • (https://home.unicode.org/) 유니코드 공식사이트

2-2.디코딩

  • 사람이 이해할 수 있는 언어로 되돌리는 것
  • 디코딩 = 역코드화 = 복호화
  • (https://checkserp.com/encode/unicode/) 유니코드로 되어있는 값을 인코딩해줌

728x90

댓글