반응형
(PYTHON)파이썬 파일 읽기 쓰기
파일 생성하고 내용 쓰기 (인코딩 ANSI)
>>>#D:temp 폴더에 "안녕.txt"생성하고 "w"쓰기모드로 "파일쓰기" 변수에 입력 . temp폴더가 없으면 에러
>>> 파일쓰기 = open("D:/temp/안녕.txt", "w")
>>> 파일쓰기.write("안녕 세상아 \n") #"파일쓰기"변수에 글쓰기.
8
>>> 파일쓰기.write("괴롭다 세상아 \n") #"파일쓰기"변수에 글쓰기.
9
>>> 파일쓰기.close() #"파일쓰기"변수 사용완료. 이때 "안녕.txt."에 내용입력 됨..
파일 열기 모드
모드 | 의미 |
W | 쓰기(write) |
R | 읽기(read) |
A | 추가하기(append) |
파일에 내용 추가하기 예제
>>>#추가하기 모드로 "안녕.txt"파일을 열어 "파일추가" 변수에 입력
>>> 파일추가 = open("D:/temp/안녕.txt", "a")
>>> 파일추가.write("그래도 힘내자 세상아 \n") #내용 추가하기
13
>>> 파일추가.close() #"파일쓰기"변수 사용 완료
파일의 내용 읽기 (인코딩 ANSI)
>>>>>>#읽기 모드로 "안녕.txt"파일을 열어 "파일읽기" 변수에 입력
>>> 파일읽기 = open("D:/temp/안녕.txt", "r")
>>> for 임의변수 in 파일읽기.readlines() :
print(임의변수, end="") #end=""를 안넣으면 print함수가 기본적으로 한줄을 넘겨 빈줄이 들어감
안녕 세상아
괴롭다 세상아
그래도 힘내자 세상아
>>> for 임의변수 in 파일읽기.readlines() : # 다시 파일읽기를 하기
print(임의변수, end="")
# 아무것도 출력이 되지 않는다. 커서위치가 파일 가장 끝에 있어 더 읽을 내용이 없음
>>> 파일읽기.seek(0) # 커서위치를 제일 앞으로 이동
0
>>> for 임의변수 in 파일읽기.readlines() : # 다시 파일읽기 하기
print(임의변수, end="")
안녕 세상아
괴롭다 세상아
그래도 힘내자 세상아 # 내용이 정상 출력된다.
>>> 파일읽기.close() # 파일을 읽은 후 닫아야 한다. 안그러면 파일이 열려있다고 삭제가 안된다.
한글 파일 오류 해결하기 (인코딩 UTF-8)
D:\temp\utf8.txt 파일에 아래와 같은 내용을 입력하고 UTF-8로 인코딩 저장하였습니다.
>>> utf8읽기 = open("D:/temp/utf8.txt", "r") # 변수 utf8읽기에 파일을 읽기모드로 열어서 담기
>>> utf8읽기.read() # utf8 변수를 read로 읽기
Traceback (most recent call last): # 코덱 에러가 뜸
File "<pyshell#28>", line 1, in <module>
utf8읽기.read()
UnicodeDecodeError: 'cp949' codec cant decode byte 0xeb in position 0: illegal multibyte sequence
>>>
>>> utf8읽기.close() # utf8읽기 변수 close 해주고 끝내기
>>> import codecs # codecs를 임포트함
>>> utf8읽기 = codecs.open("D:/temp/utf8.txt", "r", "utf-8") # codecs.open으로 열고 마지막에 utf-8 코덱임을 적음
>>> utf8읽기.read()
'나는 인코딩 utf-8이다.\r\n나는 코덱없이 파이썬에서 읽으면 에러난다.' # 정상출력
>>> utf8읽기.close()
(PYTHON)파이썬 전체보기
반응형
'(PYTHON)파이썬' 카테고리의 다른 글
(PYTHON)파이썬 예외 처리 (0) | 2020.08.11 |
---|---|
(PYTHON)파이썬 딕셔너리 Dictionary (0) | 2020.08.09 |
(PYTHON)파이썬 튜플 tuple (0) | 2020.08.09 |