파일

디스크에 있는 파일을 읽거나 쓰는 데 사용.

파일 개체는 디스크의 파일에 대한 참조를 얻는 데 사용.

파일 개체를 열어서 읽고, 쓰고, 추가하는 등의 여러 작업을 하는 데 쓰인다.

단순히 open(파일명[, 모드]) 함수를 써서, 파일 개체를 반환하며 처리를 위하여 변수에 할당할 수 있다.

파일이 아직 디스크에 존재하지 않으면, 그때 자동으로 생성된다.

모드 인자는 파일에 대하여 어떤 종류의 처리를 하고자 하는지 알려주는 데 쓰인다.

이 인자는 선택사항이며 생략할 경우에는 파일을 읽기 전용 모드로 열게 된다.

open(name[, mode[, buffering]])

파일 작업의 타입

모드 설명
‘r’ 읽기 전용
‘w’ 쓰기(주의: 파일에 다른 것이 있다 하더라도 경고 없이 덮어 씀)
‘a’ 추가
‘r+’ 읽기 및 쓰기
‘rb’ 이진(binary) 파일 읽기
‘wb’ 이진 파일 쓰기
‘r+b’ 이진 파일 읽기 및 쓰기

파일 열기 예제코드

>>> # 파일을 열고 변수 f에 할당
>>> f = open('newfile.txt','w')

파일을 다루는 코드

>>> # 파일을 생성하고, 내용을 기록한 다음 읽음
>>> f = open('newfile.txt','r+')
>>> f.write('This is some new text for our file\n')
>>> f.write('This should be another line in our file\n')

>>> #  기록된 내용의 끝에 와 있으므로 아무 행도 읽지 못함
>>> f.read()
''
>>> f.readlines()
[]
>>> f.tell()
75L

>>> # 파일의 시작 부분으로 위치 이동
>>> f.seek(0)
>>> f.read()
'This is some new text for our file\nThis should be another line in our file\n'
>>> f.seek(0)
>>> f.readlines()
['This is some new text for our file\n', 'This should be another line in our file\n']

>>> # 파일을 닫고 반납
>>> f.close()

파일 객체 메서드

메소드 설명
close() 파일을 닫음
fileno() 정수 파일 기술자(descriptor)를 반환
flush() 출력 버퍼를 밀어버리거나 내용을 파일에 쓰고서 지움
read(x) x 바이트만큼 읽음
readline(x) 한 행에 대하여 최대 x개까지의 문자를 읽음. 또는 x가 생략된 경 우에는 전체 행을 읽음.
readlines(size) 파일의 모든 행을 읽어 목록에 넣음. size > 0인 경우, 그 수만큼 의 문자를 읽음.
seek() 커서를 파일의 새로운 위치로 이동
tell() 커서의 현재 위치를 반환
truncate(size) 파일의 size 만큼을 버린다. 특정하지 않았을 경우 size의 기본값 은 현재 위치가 된다.
write(string) 파일 개체에 string을 기록
writelines(seq) 순서형 자료에 포함된 모든 문자열을 구분자 없이 기록

파일 속성

>>> my_file.closed
False

>>> my_file.mode
'r'

>>> my_file.name
'mynewfile.txt'

Good practice to use the with keyword

>>> with open('workfile', 'r') as f:
...     read_data = f.read()

>>> f.closed
True

results matching ""

    No results matching ""