파이썬(Python)/문법

파일 처리 - 읽기 모드

끄적끄적아무거나 2020. 8. 11. 21:56
반응형

파이썬에서 파일을 읽거나 쓰거나 만들때 open() 이라는 function을 사용합니다.

 

open()은 파이썬에 이미 내장된 function으로 따로 library를 추가 (import) 하지 않고 사용 가능합니다.

 

open()의 괄호 안에는 두 개의 인자 값을 넣을 수 있습니다. 첫 번째는 filename이고 두 번째는 용도를 선언하는 값입니다. 

 

파일 객체 = open("파일명", "모드")

 

두 번째 인자 값인 mode는 아래와 같이 4 종류가 있습니다.

r 읽기
a 추가
w 쓰기
x 새로 만들기

읽기 Mode

 

f = open("file_ex.txt", "r", encoding = "utf-8")
print(f.read())

 

위 예에서처럼 파일을 읽어 올 때 r 을 사용해서 읽으면 됩니다. 이때 문서에 한글이 포함되어 있을 경우 encoding을 해줘야 open 함수가 처리 할 수 있습니다. 결과는 아래와 같습니다. 

 

PS D:\py_test> & C:/Users/forgo/AppData/Local/Programs/Python/Python38-32/python.exe d:/py_test/file.py
This is example file
Nice to meet you
반가워

 

 

 

다른 폴더에 읽고 싶은 파일이 있을 경우 파일 경로를 아래처럼 표기 해주어야 합니다. 

 

f = open("D:/py_test/file_ex.txt", "r", encoding = "utf-8")
print(f.read())

 

이때 경로를 나눌때 / 특수 문자를 사용해야 합니다. \를 사용할 경우 예외처리가 되기 때문에 \를 사용하고 싶으면 회피 방식을 사용하여야 합니다.

 

 

 

일부 character만 읽어 오고 싶을 경우 아래와 같이 read의 괄호 안에 읽고 싶은 문자 만큼 입력 합니다. 이때 띄워쓰기와 줄넘김도 포함됩니다.

 

f = open("file_ex.txt", "r", encoding = "utf-8")
print(f.read(17))

 

결과는 아래와 같습니다.

 

PS D:\py_test> & C:/Users/forgo/AppData/Local/Programs/Python/Python38-32/python.exe d:/py_test/file.py
This is example f

 

 

 

라인별로 읽은 값을 표기 하고 싶을 경우는 readlines 함수를 사용하면 됩니다.

 

f = open("file_ex.txt", "r", encoding = "utf-8")
line = f.readlines()
print(line[1])

 

readlines으로 읽은 값은 리스트 형태로 들어가서 읽을 수 있습니다.

 

PS D:\py_test> & C:/Users/forgo/AppData/Local/Programs/Python/Python38-32/python.exe d:/py_test/file.py
Nice to meet you
반응형

'파이썬(Python) > 문법' 카테고리의 다른 글

enumerate, index값 불러오기  (0) 2020.11.21
선언 전 메모리절약, range, getsizeof  (0) 2020.11.20
yield, next 란  (0) 2020.11.20
list comprehension, for if문 써서 한줄로 list 만들기  (0) 2020.11.19
lambda, map 함수  (0) 2020.11.18