1 minute read


파일 입출력 (File I/O)

표준 입출력 :
  - 현재 사용자 화면으로부터 입력을 받고, 사용자 화면으로 결과를 출력하는 것

파일 입출력 : 파일 Open 후 반환된 File 객체 (핸들러) 의 내장 메소드를 활용해서 입출력을 수행.
  - 입력 : 파일로부터 값을 읽어 들인다.
  - 출력 : 파일에 값을 써서 반환한다.

Type 1 : fileObj.close() 를 사용하여 종료해야 한다

fileObj = open('파일명', '모드')
[작업 수행]
fileObj.close()


Type 2 : fileObj.close() 가 필요없다.

with open('파일명', '모드') as fileObj:
[작업 수행]



파일 입출력 모드 & 내장 메소드

  • 파일 입출력 모드
    12_FileMode_Procdess
    파일 입출력 모드

  • 내장 메소드 (입력)
    ```python // 세가지 메소드는 줄바꿈 문자(“\n”)을 포함한다. // “\n”을 기준으로 split(‘\n’)과 같이 나눠 제거할 수 있다.

read() : 데이터 전체를 읽어서 반환

readline() : 한 줄만 읽어서 반환 // 다음 호출 시에는 다음 줄을 읽음, 더 이상 읽을 것이 없으면 False 반환

readlines() : 모든 데이터를 읽어서 줄 단위로 끊어 리스트의 각 요소로 저장 후 리스트 반환 ```



파일 데이터를 줄 (Line) 단위로 읽기

방법 1. readline(), readlines() 활용

with open('input.txt', 'r') as fileObj:
  // 첫번째 줄을 읽어들인다.
  line = fileObj.readline()
  
  // line이 존재하면 루프
  while line:
      print(line.strip()) // 작업 수행.
      line = fileObj.readline() // 다음 줄을 읽어들인다.

방법 2. for loop 활용

with open('input.txt', 'r') as fileObj:
  for line in fileObj:
      print(line.strip())



파일 출력 관련 메소드

[‼️주의 ‼️] 반드시 “w” 모드로 파일 객체가 Open 되어 있어야 한다.

  • write(value) : value의 값을 파일에 출력
  • writelines(list) : list의 각 요소를 한 줄씩 파일에 출력
    fout = open('outputFile.txt', 'w')
    for c in range(0, 51, 10):
    f = int(c*9/5 + 32)
    out = '섭씨 온도 : %d, 화씨 온도 : %d\n' % (c, f)
    fout.write(out)
    fout.close()
    



최대한의 설명을 코드 블럭 내의 주석으로 달아 놓았습니다.

혹시 이해가 안가거나 추가적인 설명이 필요한 부분, 오류 등의 피드백은 언제든지 환영합니다!

긴 글 읽어주셔서 감사합니다. 포스팅을 마칩니다.



처음으로~

Task Lists

  • 파일 입출력 (File I/O)
  • 파일 입출력 모드 & 내장 메소드
  • 파일 데이터를 줄 (Line) 단위로 읽기
  • 파일 출력 관련 메소드

Comments