모든 컴퓨터 시스템은 계산된 것을 저장하기 위해서 파일들을 사용한다. 파이썬은 파일을 생성하고 접근할 때 사용하는 기능들이 많이 제공한다. 모든 운영체제(윈도우나 맥)는 파일을 생성하고 접근하는 자기만의 파일 시스템을 갖고 있다. 파이썬은 파일핸들을 이용해서 파일을 접근한다 그렇기 때문에 파이썬은 운영체제에 종속되지 않고 독립적이다.
nameHandle = open('kids', 'w')
위 코드는 운영체제에게 kids라는 이름을 가진 파일을 생성하고 그 파일의 파일핸들을 반환하라고 지시한다.
open 함수의 인수 'w'는 파일이 쓰기용임을 명시하는 것이다.
# 파일 쓰기
nameHandle = open('kids', 'w')
for i in range(2):
name = input('Enter name: ')
nameHandle.write(name + '\n')
nameHandle.close()
위의 코드는 파일을 먼저 열고 쓰기 방법을 사용하여 두 줄을 쓴 후에 파일을 닫는다.
글자 입력
Enter name: David
Enter name: Andrea
위와 같이 문자를 입력하면 생성된 kids파일안에 문자가 입력된 것을 볼 수 있다.
이제는 읽기용으로 인수 'r'을 사용해서 파일을 열고 그 내용을 출력해본다. 파이썬은 파일을 일련의 줄로 취급하기 때문에 for문을 사용하여 파일의 내용을 한 줄 씩 읽을 수 있다.
#파일 읽기
nameHandle = open('kids', 'r')
for line in nameHandle:
print(line[:-1])
nameHandle.close()
파일에 David과 Andrea라는 이름이 입력되어 있다면 다음과 같이 출력된다.
출력 결과
David
Andrea
다음은 kids파일에 인수 'a'를 사용하여 문자 추가를 해볼 것이다.
#파일에 문자 추가하기
nameHandle = open('kids', 'a')
nameHandle.write('Michael\n')
nameHandle.write('Mark\n')
nameHandle.close()
nameHandle = open('kids', 'r')
for line in nameHandle:
print(line[:-1])
nameHandle.close()
그러면 기존 이름 'David, Adrea'외 'Michae, Mark'가 추가 된 것을 볼 수 있다.
※ 다음은 파일을 다루는 기본적인 함수들이다.
open(fn, 'w') : 쓰기용으로 파일을 생성하고 파일핸들을 반환한다.
open(fn, 'r') : 읽기용으로 기존의 파일을 열고 파일핸들을 반환한다.
open(fn, 'a') : 이어쓰기로 기존의 파일을 열고 파일핸들을 반환한다.
fh.read() : 파일의 내용을 담고 있는 문자열과 이에 관련된 파일핸들 fh를 반환한다.
fh.readline() : 다음 줄과 이에 관련된 파일핸들 fh를 반환한다.
fh.readlines() : 각 줄의 목록과 이에 관련된 파일핸들 fh를 반환한다.
fh.write(s) 파일핸들 fh에 관련된 파일의 끝에 문자열 s를 쓴다.
fh.writeLines(S) : S는 일련의 문자열, 파일핸들 fh에 관련된 파일의 끝에 S에 있는 내용을 쓴다.
fh.close() : 파일핸들 fh에 관련된 파일을 닫는다.
'파이썬' 카테고리의 다른 글
(파이썬) 시퀀스와 다중 대입문, 최소공약수 및 최대 공약수 구하기 (0) | 2023.08.03 |
---|---|
(파이썬) 튜플, 20과 100의 공통분모를 출력한 후 공통분모의 합 구하기 (0) | 2023.08.03 |
(파이썬) 모듈 (0) | 2023.08.02 |
(파이썬) 전역 변수의 사용 (0) | 2023.08.02 |
(파이썬) 전역 변수의 사용 (0) | 2023.08.02 |