Recent Posts
Tags
- 오라클
- boostcourse
- 프로그래머스
- 코딩테스트
- DB
- 네이버부스트캠프
- 이기적
- Oracle
- 이것이 취업을 위한 코딩테스트다 with 파이썬
- 정보처리기사
- 파이썬
- 빅데이터분석기사
- 코딩테스트 python
- 데이터베이스
- 인공지능기초다지기
- [멀티잇]데이터 시각화&분석 취업캠프(Python)
- 난생처음 R코딩&데이터 분석 저서
- python
- boostcoures
- 기초다지기
- 데이터 분석 기반 에너지 운영 관리자 양성 및 취업과정
- Machine Learning
- 부스트코스
- 빅분기
- SQL
- Ai
- 빅데이터 분석 기반 에너지 운영 관리자 양성 및 취업과정
- AI 플랫폼을 활용한 데이터 분석
- PY4E
- r
- Today
- Total
매일공부
[파이썬 초보] 파일 열기 오류 & (리스트 활용)특정내용 수정 본문
1. 열고자 하는 파일이 폴더에 존재하지만 안 열릴 경우
OSError: [Errno 22] Invalid argument: 'c:\\coding\naver.txt'
> 이스케이프 문자(\n)로의 해석 여지가 원인
> 파일 경로 수정
"c:\\coding\\naver.txt" "c:/coding/naver.txt" r"c:\coding\naver.txt" |
2. 파일의 유니코드 오류
UnicodeDecodeError: 'cp949' codec can't decode byte 0xeb in position 0: illegal multibyte sequence
> 영어가 아닌 한국어라 생긴 오류
> 인코딩 변경
UTF-8 / utf-8 / utf-8-sig / ansi |
: 인코딩 > 문자를 숫자로 변환(메모리에 저장, 처리 목적)
: 디코딩 > 숫자를 문자로 변환(가독성, 출력)
3. 파일 안의 '특정 내용' 수정
파일을 열고 readlines()로 한줄씩 파일 읽기
> if문으로 수정할 열만 원하는 내용으로 수정 후 append()로 리스트 저장
> 아니면 그대로 리스트에 저장
> 파일을 '쓰기'로 열고 리스트에 저장한 내용을 덮어씌워서 저장
e_lines = []
with open(r"c:\coding\naver.txt", 'r', encoding='UTF-8') as f: #파일열기 & "유니코드"필수
lines = f.readlines() #한줄씩 읽기
for line in lines:
if "상품 이미지" in line: # 수정하고자 하는 특정 내용 찾기
e_lines.append(" ") #읽은 lines를 리스트에 수정 내용으로 추가
else:
e_lines.append(line) #읽은 lines를 리스트에 그대로 추가
with open("c:\\coding\\naver.txt", 'w', encoding='UTF-8') as f:
f.writelines(e_lines)
# 저장된 리스트를 파일에 덮어씌우기
>> 원본: https://bingbingba.tistory.com/9
>> 한 줄 전체가 수정되는 개념
>> 원하는 한 줄 전체를 새로 입력해야 함
▼ open 코드 <참조>
더보기
1. open한 파일을 별도 지정
> close 필수(안 닫을 경우 열은 파일이 손상될 수 있음)
fo = open("c:\\coding\\naver.txt")
fo.close()
2. with open~ as~ 구문
> 파일을 열고 블록으로 실행여부 판단
> 블록이 끝나면 자동으로 close
with open(r"c:\coding\naver.txt", 'r', encoding='UTF-8') as f:
lines = f.readlines()
'Programming > Python' 카테고리의 다른 글
[AI 기초 다지기] 파이썬 리스트 - 패킹, 언패킹, 행렬, 복사 (0) | 2022.07.23 |
---|---|
[PY4E] 파이썬 튜플; items() sorted() List comprehension (0) | 2022.07.15 |
[PY4E] 파이썬 딕셔너리; dict() get() items() (0) | 2022.07.12 |
[PY4E] 파이썬 리스트; append() sort() split() range() (0) | 2022.07.12 |
[PY4E] 파이썬 파일; open() read() (0) | 2022.07.10 |
Comments