파일의 개념
- 파일(file)은 컴퓨터를 실행할 때 가장 기본이 되는 단위다.
- 아이콘을 클릭하여 프로그램을 실행하는 것이 아니라, 실제로는 아이콘과 연결된 파일이 실행되는 구조다. 아이콘에서 마우스 오른쪽 버튼을 클릭하고, 속성을 선택하면 다음과 같은 화면을 볼 수 있다.
- 컴퓨터에서 파리의 종류는 다양하지만, 기본적으로 바이너리 파일(binary file)과 텍스트 파일(text file), 두 가지로 분류할 수 있다.
- 파이썬에서는 텍스트 파일을 다루기 위해 open() 함수를 사용한다.
# 형식
f = open("파일명", "파일 열기 모드")
f.close()
파일 읽기
f = open("test.txt", "r", encoding ="utf-8") # test.txt 파일을 읽기 모드로 f에 대입 . encoding 방식 utf-contents = f.read()
print(contents)
f.close()
파일 읽기 : with 문과 사용
- with 문과 함께 open()함수 사용 가능, with문은 들여쓰기를 사용해 들여쓰기가 있는 코드에서는 open()함수가 유지되고, 들여쓰기가 종료되면 open()함수도 끝나는 방식이다.
with open("test.txt", "r", encoding="utf-8") as test : # as test 는 f = oepn 대입한 것처럼 예시 변수
contents = test.read()
print(type(contents), contents)
한 줄씩 출력하기 readline()
with open("test.text","r",encoding="utf-8") as test:
i = 1
while 1:
line = test.readline()
if not line : # line이 없다면 이제 break
break
print(str(i) + "===" +line.replace("\n","")) # 한 줄씩 값 출력
i = i+1 # 줄 체크
파일 안 글자의 통계 정보 출력하기
- split() 함수와 len() 함수를 함께 사용한다.
with open("test.txt","r,",encoding="utf-8") as test:
contents = test.read()
word_list = contents.split(" ") # 빈칸 기준으로 단어를 분리 리스트
line_list = contents.split("\n") # 한 줄씩 분리하여 리스트
print("총 글자의 수: ", len(contents))
print("print("총 단어의 수: ", len(word_list))
print("총 줄의 수: ", len(line_list))
파일 쓰기
- 텍스트 파일을 저장하기 위해서는 텍스트 파일을 저장할 때 사용하는 표준을 저장해야 하는데, 이것을 인코딩(encoding)이라고 한다.
- 상황에 따라 파일을 계속 추가해야 하는 작업이 있을 수도 있으므로, 기존 파일에 추가 작업을 해야 하는 일이 있다. 이 경우, 많이 사용하는 방법은 추가 모드 a를 사용하는 것이다.
with open("test.txt","a",encoding = "utf-8") as test
data = "a를 사용하는 파일 쓰기"
test.write(data)
with open("test.txt","r",encoding="utf-8") as test:
contents = test.read()
print(contents)