입출력, 파일관리

김상우·2022년 3월 17일
0

Python

목록 보기
7/14
post-thumbnail

완전 기초부터 시작하는 파이썬

입출력

  • input
    입력한 값을 어떤 변수에 대입하고 싶을때 input()을 사용한다.
    input()은 입력되는 모든 것을 문자열로 취급한다.

    # 콘솔에서 사용해본 input()
    
    >>> num = input("숫자 입력")
    숫자 입력
    3
    >>>print(num)
    3

    프롬프트에서 숫자 입력을 3이라고 입력 후 num에 3이 잘 들어가있는지 확인해보기 위해 print(num)을 입력하면 3이 출력되는 것을 확인할 수 있다.

  • output
    지금까지 사용한 print()문이 입력했던 자료형들을 출력하는 함수이다.

    # 큰 따옴표로 둘러싼 문자열은 + 연산과 동일함
    
    >>>print("My" "name" "is" "Kim sang woo")
    MynameisKim sang woo
    >>>print("My" + "name" + "is" + "Kim sang woo")
    MynameisKim sang woo
    
    # 문자열 띄어쓰기는 콤마로 구분
    
    print("My", "name", "is", "Kim sang woo")
    My name is Kim sang woo
    
    # 한 줄에 결과값을 출력하기 위해 'end=' 를 사용한다.
    
    >>>for i in range(10):
    ...:   print(i, end=' ')
    ...:
    0 1 2 3 4 5 6 7 8 9

파일관리

  • 파일생성
    close()는 열려있는 파일을 객체를 닫아주는 역할을 한다. 프로그램 종료 시 파이썬 프로그램이 열려있는 파일의 객체를 자동으로 닫아주기 때문에 생략해도 좋지만 쓰기모드로 열었던 파일을 닫지 않고 다시 사용하려면 오류가 발생하기에 사용하는 것이 좋다.

    • 파일 열기 모드

      파일 열기 모드설명
      r읽기 모드 : 파일을 읽기만 할 때 사용
      w쓰기 모드 : 파일에 내용을 쓸 때 사용
      a추가 모드 : 파일의 마지막에 새로운 내용을 추가 할 때 사용
    • 기본 예제

    # open() 함수의 기본 구조
    
    파일 객체 = open(파일이름, 파일 열기 모드)
    # 새파일.txt를 쓰기모드로 생성하는 코드
    
    f = open("새파일.txt", 'w')
    f.close()
    
    # 지정위치에 생성하는 경우의 코드
    f = open("C:/새파일.txt", 'w')
    f.close()
    
    # 쓰기모드로 열어 출력값 작성하는 코드
    f = open("C:/새파일.txt", 'w')
    for i in range(1, 11):
        data = "%d번째 줄입니다.\n" %i
        f.write(data)
    f.close()
  • 외부 파일 읽기

    • readline()

      # 첫 번째 줄 출력
      
      f = open("C:/새파일.txt", 'r')
      line = f.readline()
      print(line)
      f.close()

      기본적으로 readline()을 사용해 파일을 읽기 모드로 열면 첫 번째 줄을 읽어 출력한다. 바로 위의 쓰기모드로 열어 출력값을 작성한 코드를 지우지 않았다면 아래의 결과가 출력된다.

      1번째 줄입니다.

      # 모든 줄을 읽어 출력
      
      f = open("C:/새파일.txt", 'r')
      while True:
          line = f.readline()
          if not line: break
          print(line)
      f.close()

      무한 루프 안에서 한 줄씩 읽어들이다가 더 이상 읽을 줄이 없으면 break를 수행하며, readline()은 더 이상 읽을 줄이 없는 경우 None을 출력한다.

    • readlines()

      f = open("C:/새파일.txt", 'r')
      lines = f.readlines()
      for line in lines:
          print(line)
      f.close()

      readlines() 함수는 파일의 모든 줄을 읽어 각각의 줄을 요소로 갖는 리스트로 돌려주는 함수다.
      readline()과 s하나 차이로 다른 역할을 하기 때문에 주의할 요소이다.

    • read()

      f = open("C:/새파일.txt", 'r')
      data = f.read()
      print(data)
      f.close()

      파일의 내용 전체를 문자열로 돌려주며, 위 코드에서의 data는 파일 전체 내용이다.

  • 새로운 내용 추가

    # add() - 기존 파일 안에 새로운 데이터 추가
    
    f = open("C:/새파일.txt", 'a')
    for i in range(11, 20):
        data = "%d번째 줄입니다.\n" %i
        f.write(data)
    f.close()
  • with문 사용

    with open("C:/새파일1.txt", 'w') as f:
        f.write("새로운파일1")

    위에서는 close()를 사용해 파일을 수동으로 닫았지만 바로 위의 코드처럼 with문을 사용하여 파일을 열면 with 블록을 벗어나는 순간 open으로 열린 파일이 자동으로 닫힌다.

profile
아침엔 운동하고 밤엔 잠을 잔다.

0개의 댓글