IT 개발/Python
[파이썬] 파일 입출력 사용방법 (파일 읽기/쓰기)
KADOSHOLY
2023. 12. 11. 00:27
반응형
파이썬 - 파일 입출력 사용방법 (파일 읽기/쓰기)
목차
- 파일 입출력 방법 및 옵션 (읽기/쓰기)
- 파일 쓰기 예제
- 파일 읽기 예제
- 자동으로 파일 객체 닫는법
1. 파일 입출력 방법 및 옵션 (읽기/쓰기)
파일에 문자열을 읽거나 쓰기 위해서는 아래 3단계를 거쳐 진행합니다.
- open(파일이름, 파일모드, 인코딩옵션)으로 파일을 열어줍니다.
- write('문자열' ) 또는 read( ) 함수로 파일에 쓰거나 읽습니다.
- close( ) 함수로 파일을 닫아줍니다.
1) open(파일이름, 파일모드, 인코딩옵션 ) 함수
open( ) 함수 사용시 파일모드 옵션은 읽기/쓰기와 텍스트/바이너리 선택을 할 수 있습니다.
- r (읽기) : 파일을 읽기만 할 때 사용합니다. (기본값)
- w (쓰기) : 파일을 쓰기만 할 때 사용합니다. (파일을 새롭게 생성하거나 기존 파일을 덮어씁니다)
- x (쓰기) : 파일을 쓰기만 할 때 사용합니다. (기존에 파일이 있다면 에러를 반환합니다)
- a (추가) : 기존 파일에 내용을 추가합니다.
- t : 텍스트 모드 (기본값)
- b : 바이너리 모드
2) write( ) 메소드
- write(문자열) : 문자열을 파일에 씁니다.
- writelines(문자열리스트) : 리스트에 들어있는 문자열을 파일에 씁니다.
3) read( ) 메소드
- read( ) : 파일의 내용을 읽어옵니다.
- readline( ) : 파일의 내용을 한줄씩 읽어옵니다.
- readlines( ) : 파일의 내용을 한줄씩 리스트 형태로 읽어옵니다.
2. 파일 쓰기 예제
1) write( ) 사용예제
file = open('test.txt', 'wt', encoding='utf-8')
file.write('첫번째 내용입니다.\n')
file.close()
file = open('test.txt', 'at', encoding='utf-8')
file.write('추가된 내입니다.\n')
file.close()
####### [실행결과] #######
첫번째 내용입니다.
추가된 내입니다.
2) writelines( ) 사용예제
file = open('test1.txt', 'wt', encoding='utf-8')
s1 = ['첫째줄 내용입니다.\n', '둘째줄 내용입니다.\n']
file.writelines(s1)
file.close()
file = open('test1.txt', 'at', encoding='utf-8')
s1 = ['추가된 내용1 입니다.\n', '추가된 내용2 입니다.\n']
file.writelines(s1)
file.close()
####### [실행결과] #######
첫째줄 내용입니다.
둘째줄 내용입니다.
추가된 내용1 입니다.
추가된 내용2 입니다.
3. 파일 읽기 예제
1) read( ) 사용예제
file = open('test1.txt', 'rt', encoding='utf-8')
data = file.read()
print(data)
file.close()
####### [실행결과] #######
첫째줄 내용입니다.
둘째줄 내용입니다.
추가된 내용1 입니다.
추가된 내용2 입니다.
2) readline( ) 사용예제
file = open('test1.txt', 'rt', encoding='utf-8')
data = ''
line = None
while line != '':
line = file.readline()
data += line
file.close()
print(data)
####### [실행결과] #######
첫째줄 내용입니다.
둘째줄 내용입니다.
추가된 내용1 입니다.
추가된 내용2 입니다.
3) readlines( ) 사용예제
file = open('test1.txt', 'rt', encoding='utf-8')
data = file.readlines()
print(data)
file.close()
####### [실행결과] #######
['첫째줄 내용입니다.\n', '둘째줄 내용입니다.\n', '추가된 내용1 입니다.\n', '추가된 내용2 입니다.\n']
4. 자동으로 파일 객체 닫는법
파일을 다룰때 주의하셔야 할 점은, 파일을 열면 반드시 close( ) 함수로 닫아주어야 한다는 것입니다. 그런데 이것이 귀찮기도 하고 가끔 잊어버리기도 합니다.
이런 경우 아래와 같은 구문을 사용하면 close( ) 함수를 사용하지 않아도 자동으로 파일 객체를 닫아줍니다.
with open(파일이름, 파일모드) as 파일객체:
... 코드 내용...
ex) 사용예제
with open('test1.txt', 'rt', encoding='utf-8') as file:
data = file.read()
print(data)
####### [실행결과] #######
첫째줄 내용입니다.
둘째줄 내용입니다.
추가된 내용1 입니다.
추가된 내용2 입니다.
반응형