[Python] 파일 입출력
파이썬의 '파일 입출력'은 표준 C 입출력 라이브러리를 모델로 만들어졌습니다. 먼저 파일을 오픈하는 인터페이스입니다.
fileobj = open(filename, mode)
2번째 인자인 'mode'에 올 수 있는 값은 다음과 같습니다.
- r: 파일 읽기
- w: 파일 쓰기(파일이 존재하지 않으면 생성, 존재하면 덮어씀)
- x: 파일 쓰기(파일이 존재하지 않을 경우에만 수행함)
- a: 파일 추가하기(파일이 존재하면 파일의 끝에서부터 쓴다.)
쓰기
파일 쓰기를 위한 인터페이스는 다음과 같습니다.
fout = open('myfile', 'wt')
fout.write(data)
읽기
파일 읽기를 위한 인터페이스는 다음과 같습니다.
fin = open('myfile', 'rt')
obj = fin.read() # 매개변수 없이 read() 함수를 호출하면 파일의 전체 데이터를 읽어들입니다.
fin.close()
readline() 함수를 사용하여 파일을 라인 단위로 읽을 수도 있습니다.
data = ''
fin = open('myfile', 'rt')
while True:
line = fin.readline()
if not line:
break
data += line
fin.close()
위의 예제들에서 마지막 라인에 close()를 호출하여 스트림을 닫았는데, 파이썬은 자동으로 닫히는 '컨텍스트 매니저(context manager)'를 지원합니다.
with open('myfile', 'wt') ad fout:
fout.write(data)
파일 오프셋 조작/확인: seek(), tell()
파일 오프셋을 조작하여 원하는 위치의 데이터를 읽기/쓰기 할 수 있습니다.
with open('myfile', 'rb') as fin:
fin.seek(10, SEEK_SET) # 처음 오프셋 위치를 기준으로 +10을 더한 위치로 이동합니다.
data = fin.read()
'Programming > Python' 카테고리의 다른 글
[Python] 문자열 입력받기 - input() 함수 (0) | 2019.11.28 |
---|---|
[Python] 구조화된 텍스트 파일 다루기 - XML, JSON, YAML (0) | 2019.06.11 |
[Python] private 네임 맹글링 (0) | 2019.06.10 |
[Python] 클래스(class) (0) | 2019.06.10 |
[Python] 클로저(Closure) (0) | 2019.06.07 |
댓글
이 글 공유하기
다른 글
-
[Python] 문자열 입력받기 - input() 함수
[Python] 문자열 입력받기 - input() 함수
2019.11.28 -
[Python] 구조화된 텍스트 파일 다루기 - XML, JSON, YAML
[Python] 구조화된 텍스트 파일 다루기 - XML, JSON, YAML
2019.06.11 -
[Python] private 네임 맹글링
[Python] private 네임 맹글링
2019.06.10 -
[Python] 클래스(class)
[Python] 클래스(class)
2019.06.10