text file(텍스트 파일)

CODEDRAGON Development/Python

반응형



 

text file(텍스트 파일)

Python에서 파일을 처리하기 위해서는 다른 언어에서와 마찬가지로 파일을 오픈하고, 데이터를 읽거나 쓴 후, 파일을 닫아주게 됩니다.

 

 

 

파일 쓰고 읽기

 

단계

메소드

1

파일 오픈

open()

2

파일 쓰고 읽기

write()

read()

readline()

readlines()

3

파일 닫기

close()

 

 

  

파일을 오픈하기

·       파일을 오픈하기 위해서는 내장함수 open()을 사용합니다.

·       첫번째 파라미터로 오픈할 파일명을 지정하면 됩니다.

·       open() 함수는 다양한 파라미터를 지정할 수 있는데, 흔히 사용되는 파라마터로 파일모드를 결정하는 mode 와 파일인코딩 방식을 지정하는 encoding 등을 지정 할 수 있습니다.

 

 

 

open(path, mode, encoding)

parameter

description

path

파일 경로

mode

·       파일이 열리는 모드

·       파일모드는 파일을 읽을 것인지 쓸 것인지 혹윽 텍스트 파일인지 바이너리 파일인지 등을 지정할 때 사용합니다.

·       파일모드에는 읽기(r), 쓰기(w 혹은 x), 추가(a), 수정(+) 모드를 지정할 수 있으며, 텍스트 파일(t), 바이너리 파일(b) 를 지정할 수 있습니다. 만약 파일모드를 지정하지 않으면, 디폴트로 텍스트 읽기 (rt) 모드가 설정됩니다.

 

설명

r

기본값

읽기 모드로 열기

w

쓰기 모드로 열기, 파일을 먼저 자른다.

x

베타적 생성을 위해 열리고, 이미 존재하는 경우 실패합니다.

a

쓰기 모드로 열고, 파일의 끝에 내용을 추가합니다.

b

2 모드(바이너리 모드)

t

텍스트 모드 (기본값)

+

업데이트 (읽기 및 쓰기)를 위한 디스크 파일 열기

U

유니버설 개행 모드 (사용되지 않음)

 

encoding

·       파일 인코딩 설정

·       Python의 문자열을 파일로 쓸 때 문자열은 바이트로 변경되는데, 이때 인코딩 방식에 따라 다른 바이트 결과를 가질 수 있습니다.

·       파일을 읽어 들일 때 인코딩 방식에 따라 다른 문자열로 읽혀 들일 수 있습니다. 따라서, 파일을 오픈할 때 encoding 파라미터를 지정해서 어떤 인코딩 방식을 사용하는지 명시적으로 지정는 것이 좋습니다.

·       만약 encoding 파라미터를 지정하지 않으면 시스템 디폴트 인코딩 방식을 사용합니다.

 

 


with open() as 별칭:

파일 오픈 해당 블록이 끝나면 자동으로 오픈한 파일 자원을 닫아줍니다.

 

 

 

파일을 읽기/쓰기

·       파일을 오픈한 후, 파일을 읽기 위해서는 read(), readline(), readlines() 등의 메서드를 사용합니다.

·       파일을 오픈한 후, 파일을 쓰기 위해서는 write(), writelines() 등의 메서드를 사용합니다.

·       writeline() 메서드는 없으며 다음 라인으로 가기 위해서는 write() 메서드에서 "\n" 를 지정해 주어야 합니다. Python Universal Newline 이라고 하여 플랫폼에 상관없이 라인 Delimeter "\n"을 사용합니다.

·       실행 플랫폼이 윈도우즈인 경우 이 Universal Newline CRLF (\r\n) 으로 변경되고, 맥이나 리눅스에서는 LF (\n)로 자동으로 사용됩니다.

 

 

 

readline()

라인만 읽어서 반환합니다.

 

 

 

readlines()

각각의 라인을 읽어서 라인을 요소로하는 리스트를 반환합니다.

 




반응형

'Development > Python' 카테고리의 다른 글

Python 개발 환경 구축 다운로드 & 설치하기 파이썬 download & install  (0) 2021.01.05
google cloud vision 라이브러리 설치  (0) 2020.12.29
math 모듈  (0) 2020.11.21
신뢰도 측정방법  (0) 2020.11.09
fivenum()  (0) 2020.11.03