본문 바로가기
초보 코딩 배우기

파이썬 파일 입출력

by into 2021. 5. 3.
반응형

파이썬 코드를 사용하여 텍스트 파일, 바이너리 파일을 읽어오거나 출력할 수수 있습니다.

 

open 함수

파이썬 open 함수에 여러 파라미터가 있으며 다음은 open 함수의 예입니다.

open(filename, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

 

filename : 파일 이름

mode: 입력이면 r (기본값), 출력이면 w

 

기타 mode 옵션

 'x'   텍스트 파일 쓰기, 파일이 없으면 에러 메시지

 'a'   기존의 텍스트 파일 마지막에 첨부

'rb'   binary 파일 읽기

 'wb'   binary 파일 쓰기

'w+b'   binary 파일 읽고 쓰기

 'xb'   binary 파일 쓰기, 파일이 없으면 에러 메시지

'ab'   binary 파일 마지막에 첨부

 

open 함수를 사용하여 a.txt 파일 쓰기 

afile=open('K:pythona.txt', 'w')

 

텍스트 파일 읽어오기

open 함수의 옵션이 텍스트 모드이면 파일에서 string 읽어오거나 출력할 있습니다.

open 함수의 옵션이 바이너리 모드 (‘rb’ (읽어올 ) 또는 ‘wb’ 출력할 ) byte string 입출력할 있습니다.

 

다음 b.txt 파일을 open 함수를 이용하여 읽어오려고 합니다.

bfile=open('K:pythonb.txt')

data=bfile.read()

print(data)

위의 open함수에 mode 옵션이 지정되지 않으면 기본값인 ‘r’ 사용됩니다.

bfile.read()는 파일의 내용 전체를 문자열로 바꿔줍니다.

 

bfile.close()

파일 읽기가 끝나면 반드시 .close 함수를 사용하여 파일을 닫아줘야 합니다.

 

텍스트 파일로부터  줄을 읽어오려면 .readline 방법을 사용할  있습니다.

bfile=open('K:pythonb.txt')

data=bfile.readline()

print(data)

bfile.close()

readlines 함수는 파일의 모든 줄을 읽어서 각각의 줄을 요소로 갖는 리스트로 돌려줍니다.

bfile=open('K:pythonb.txt')

data=bfile.readlines()

data[0]

data[1]

bfile.close()

Iteration 이용해 읽기

bfile=open('K:pythonb.txt')

for line in bfile.readlines():

    print(line)

for 문을 이용하여 b.txt 파일의 각 줄을 읽어옵니다.

 

파일 쓰기

cout = open('K:pythonc.txt', 'w')

cout.write('John')

cout.close()

c.txt 파일에 John을 씁니다.

 

cout = open('K:pythonc.txt', 'w')

cout.write('Jane')

cout.close()

c.txt 파일에 Jane을 씁니다.

 

새로운 라인을 입력할

\n 을 사용합니다.

cout = open('K:\python\\c.txt', 'w')

cout.write('John\n')

cout.write('Jane')

cout.close()

c.txt 파일 첫 번째 줄에 John을 쓰고 줄을 바꾸어 Jane을 씁니다.

 

cout = open('K:\python\\c.txt', 'w')

cout.write('John')

cout.write('Jane')

cout.close()

n을 사용해 줄 바꾸기를 하지 않으면 JohnJane이 첫 번째 줄에 같이 쓰입니다.

binary 파일을 읽을 ‘rb’ 사용하며, byte string 불러옵니다. 8byte 읽기

ccc =open('K:pythontest.png', 'rb')

ccc.read(8)

오늘은 파이썬 파일 출력과 입력하는 것에 대해 알아봤습니다.

 

 

반응형

'초보 코딩 배우기' 카테고리의 다른 글

파이썬 time 모듈  (14) 2021.06.01
파이썬 string 포멧 출력하기  (12) 2021.05.24
파이썬 모듈  (4) 2021.05.18
파이썬 while loop  (6) 2021.05.10
파이썬 인덱싱과 슬라이싱  (11) 2021.04.26
파이썬 함수  (19) 2021.04.19
파이썬 dictionary  (14) 2021.04.11
파이썬 for loop  (6) 2021.04.04

댓글