-
Python Programming Basic - 9. 파일읽고 / 쓰기Python/Python Basic Lesson 2020. 3. 2. 20:40
DOC : https://docs.python.org/3/library/functions.html?highlight=open#open
open
(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None파일을 오픈, 열지 못했을 때는 '
OSError' 에러발생
모드(Mode)
모드
설명
'r'
읽기 모드 (기본)
'w'
쓰기 모드
'a'
추가 모드 (파일이 존재하면 끝에 추가)
'b'
바이너리 모드
't'
텍스트 모드 (기본)
'+'
읽기와 쓰기으로 파일 열기
* 특별한 값을 지정하지 않으면 'r', 't'는 기본으로 설정
버퍼링(buffering) : 버퍼정책 설정buffering
설명
0
버퍼링을 쓰지 않음. (바이너리 모드에서만 사용 가능)
1
개행문자 '\n'을 만날때 까지 라인 버퍼링을 수행. (텍스트 모드에서만 사용 가능)
임의값
1보다 큰 값을 입력하여 직업 지정
인코딩(encoding) : 파일을 인코딩이나 디코딩 할 때, 사용 (텍스트 모드에서만 사용 가능. codecs 모듈)
에러(errors)
errors
설명
strict 에러시 '
ValueError' 예외 발생
ignore
에러를 무시
replace 기형적인 데이터가 있는 곳이(예를 들어 '?') 삽입
newline : 파일을 읽고 쓸 때, 줄바꿈 처리 ( None, '', '\n', '\r', '\r\n' 중 하나 입력)
파일을 읽을 때
None으로 설정되어 있으면, '\n', '\r', '\r\n' 개행문자로 간주하고, \n로 변경
''으로 설정되어 있으면, 개행 문자 변환을 수행하지 않음
'\n', '\r', '\r\n' 하나를 입력하면 입력한 문자만 개행 문자로 간주
파일을 쓸 때
None으로 설정되어 있으면, 어떠한 개행문자도 시스템 기본 개행문자로 변환
'' 이나 '\n' 이 설정되어 있으면, 어떠한 변환도 수행하지 않는다
'\n', '\r', '\r\n' 설정되어 있으면, 지정한 개행문자로 변환
closefd
False를 입력하면 파일이 닫혀도 오픈 상태를 유지
with문 : 파일을 열고 닫는 것을 자동으로 처리
student.txt
철수 서울시
민수 안양시
영희 부천시
도경 성남시# student.txt 파일 읽기 with open('student.txt', 'r', encoding='utf') as f: for line in f.read(): print(line, end= '') 철수 서울시 민수 안양시 영희 부천시 도경 성남시
# student_write.txt 파일 쓰기 student = {'철수':'서울시','민수':'안양시','영희':'부천시','도경':'성남시'} with open('student_write.txt', 'w', encoding='utf') as f: # 추가모드는 'a' for key, value in student.items(): f.write(key+'\t'+value+'\n')
'Python > Python Basic Lesson' 카테고리의 다른 글
Python Programming Basic - Append. 리스트 축약 (List Comprehensions) (0) 2020.03.02 Python Programming Basic - Append. 문자열 포맷팅 (0) 2020.03.02 Python Programming Basic - Append. 내장함수 (Built-in function) (0) 2020.03.02 Python Programming Basic - 10. 날짜 다루기 (0) 2020.03.02 Python Programming Basic - 8. 함수 (function) (0) 2020.03.02 Python Programming Basic - 7. 딕셔너리 함수 (0) 2020.03.02 Python Programming Basic - 7. 리스트 함수 (0) 2020.03.02 Python Programming Basic - 6. 반복문 (while) (0) 2020.03.02