ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (21)Python_파일열기
    Python 2023. 3. 13. 17:34
    728x90

    1. 파일열기

    • 파일 열기 모드: w(출력), r(읽어오기), a(추가출력)
    • w는 지정된 경로에 파일이 없으면 파일을 만든 후 저장하고, 파일이 있으면 기존의 모든 데이터를 지우고 다시 저장
    • r은 지정된 경로에 파일이 없으면 에러, 있으면 해당 파일의 데이터를 읽어옴
    • a는 지정된 경로에 파일이 없으면 파일을 만든 후 저장하고, 파일이 있으면 기존의 데이터 뒤에 이어서 저장
    • 파일 종류 모드: t(텍스트 파일, 생략 가능), b(바이너리 파일, 텍스트파일 외의 모든 것
    • 파일을 출력할 때 작업이 모두 완료되면 반드시 close() 메소드를 사용해서 파일을 닫아야 정상적으로 데이터가 저장됨
    input = open('text.txt','r') # 텍스트파일 열기 모드
    input = open('text.txt','rt') # 텍스트파일 열기 모드
    input = open('apple.jpg','rb') # 바이너파일 열기 모드

    1-1. 파일 저장하기

    1-2. 파일경로

    • 절대 경로: 디스크 드라이브 최상위(root) 디렉토리부터 파일이 저장 또는 읽어올 디렉토리까지의 경로 예) C:/JM/Python/Day/data.txt
    • 상대 경로: 현재 화면에 표시되는 소스파일이 위치한 디렉토리부터 파일이 저장 또는 읽어올 디렉토리까지의 경로
      • 같은 디렉토리: 파일명 or ./파일명
      • 상위 디렉토리: ../파일명 or ./../파일명
      • 하위 디렉토리: 디렉토리명/파일명 or ./디렉토리명/파일명

    1-3. 파일 읽어오기

    • read(): 파일로부터 전체 데이터를 읽어옴
    • read(size): 파일로부터 사이즈 만큼 데이터를 읽어옴

    간단한 문제

    • 키보드로 데이터를 입력하고 텍스트 파일에 저장하는 프로그램을 작성해보기(단, 'quit'가 입력되면 저장을 끝나고 프로그램을 종료)

    1-4. with 문

    • 자원을 획득하고 사용 후 반납해야 하는 경우 블록으로 사용하는 문

    1-5. readline()

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

    1-5. readlines()

    • 전체라인을 모두 읽어서 각 라인단위로 리스트에 raw string으로 저장

    2. 인코딩과 디코딩

    2-1. 인코딩

    • 컴퓨터에서 사람이 인지할 수 있는 형태의 데이터를 약속된 규칙에 의해 컴퓨터가 사용하는 0과 1로 변환하는 과정
    • 인코딩 = 코드화 = 암호화 = 부호화
    • 예) 아스키코드 인코딩, URL 인코딩, Base64 인코딩, 유니코드 인코딩

    2-2. 디코딩(Decoding)

    • 사람이 이행할 수 있는 언어로 되돌리는 것
    • 디코딩 = 역코드화 = 복호화

    응용문제

    영어 단어장 프로그램을 만들어보자

    아래 번호를 선택하세요
    단어 입력(단어, 뜻, 레벨)
    단어 출력
    단어 저장(word.txt에 저장)
    프로그램 종료
    아래 번호를 선택하세요 1

    단어를 입력하세요 apple, 사과, level

    입력되었습니다.

    아래 번호를 선택하세요 1

    단어를 입력하세요 banana, 바나나, level, 1

    입력되었습니다.

    아래번호를 입력하세요 2 apple(사과, level 1) banana(바나나, level 1)

    아래 번호를 선택하세요 3

    저장되었습니다.

    아래 번호를 선택하세요 4

    프로그램을 종료합니다.

    단, 저장된 파일이 있는 경우 프로그램 재실행시 데이터를 읽어 메모리에 저장 프로그램을 다시 실행했을 경우 전에 입력했던 것이 출력이 된다.

     

    'Python' 카테고리의 다른 글

    (23)Python_변수의 타입 어노테이션  (0) 2023.03.13
    (22)Python_클로저와 데코레이터  (0) 2023.03.13
    (20)Python_예외처리  (0) 2023.03.13
    (19)Python_모듈  (0) 2023.03.10
    (18)Python_스페셜 메소드  (0) 2023.03.10

    댓글

Designed by Tistory.