'''
# 파일 입출력

파이썬에서 제공하는 여러 모듈을 통해
프로그램을 통해 생성한 데이터 파일을 컴퓨터에 저장하거나
컴퓨터에 있는 파일을 프로그램으로 읽어올 수 있다.
'''

'''
# open() 

open()함수는 파일을 특정한 모드로 여는 함수이다. 
읽을 때는 'r'을 쓰고, 쓸 때는 'w'를 쓴다.

같은 프로젝트 내에 있을 때는 그냥 파일 이름만 적어주면 되고,
컴퓨터에 저장된 파일을 불러올 때는 경로를 적어주면 된다.
'''

f = open("input.txt", "r", encoding="UTF-8")  # open()함수를 통해 input.txt파일을 읽기모드('r')로 읽겠다.
                                              # 한글이 포함된 파일을 불러오고자 할 때
                                              # 해당 파일을 unicode형태로 읽겠다는 표시를 해줘야 한다(UTF-8).
                                              # 이렇게 하면 해당 파일을 읽어서 file객체로 만들어 준다.
                                              # 그 file객체를 f라는 변수에 담는 것이다.

'''
# seek()

필요할 때만 쓰면 된다.

파일 읽기를 시작할 위치를 설정하는 함수이다. 즉, 어디에서부터 읽을 것이냐.

seek()함수의 매개변수로는 건너뛸 글자만큼의 바이트를 넣는다.
'''
# f.seek(9) # 9바이트 위치부터 파일을 읽겠다.
          # 한글이 unicode로 사용될 때 일반적으로 한 글자 당 3바이트씩 차지한다.
          # 즉, 9바이트를 건너뛰고 읽겠다는 것은 3글자를 건너뛰고 읽겠다는 것이다.


'''
# read()

open()함수로 불러온 파일은 file 객체 형태로 있기 때문에 
해당 파일을 읽기 위해서는 read()함수를 사용 해야 한다.
'''
txt_file = f.read() # read()함수를 통해 변수 f에 담긴 내용을 읽어서 txt_file에 담는다.
print(txt_file)

'''
# close()

입출력한 파일에 대한 파일 입출력과 관련된 특정한 작업이 끝났다면
반드시 close()함수를 통해 해당 파일에 대한 리소스 사용을 종료해줘야 한다.
'''
f.close()
