텍스트 파일 다루기 본문
** 텍스트 파일 -> open(열기) -> read(읽기) / write(쓰기) -> close(닫기)
** 텍스트 파일 쓰기 : 텍스트 파일은 외부자원이기에, 오픈할 경로를 명시해야 한다 , 기본경로 + 파일명.포맷 식으로 지정해놓으면 편하다
** encoding 오류 시, open("path", read type, encoding="encoder -> txt file 에 맞는 포맷")
'r' : read mode, 읽기 전용
'w' : write mode, 해당 파일이 없으면 텍스트 파일을 생성 , 새로 쓸때 이어쓰기를 설정하지 않으면 매번 새로 쓰게 된다
file.write()
file.close() <- 반드시 종료해준다!
** 텍스트 파일 읽기
** 텍스트 파일 열기
파일 모드는 파일을 어떤 목적으로 open할지 정한다.
'w' : write 쓰기전용 ( 파일이 있으면 덮어씌움 )
'a' : append 쓰기전용 ( 파일이 있으면 덧붙임 )
'x' : 쓰기 전용 ( 파일이 있으면 에러 발생 )
'r' : read 읽기 전용 ( 파일이 없으면 에러 발생 )
** with ~ as문을 이용하면 파일 닫기(close)를 생략할 수 있다.
** with ~ as 실습
** enumerate 함수로 index나 value를 반환할 수 있음
* random.sample(range(start_num,end_num+1),how many pick) 을 통해서 로또번호 1~45까지 보너스 공을 포함해 7개 추출
* 추출한 난수들을 index로 지정하여 가져올때 뒤에서 두번째까지는 ,로 구분. 개행 후 마지막 인덱스에서 보너스를 붙여준다
* 다중 조건문 if ~ elif ~ elif를 사용하고 append를 with open("path",'a') as f: 로 받아 한 줄로 처리한 모습
* 마지막에도 with open('path','r') as f: , print(f.read())로 빠르게 읽어주었다
**writelines() : writelines()는 리스트 또는 튜플 데이터를 파일에 쓸 수 있는 함수
for 문을 사용하면 따옴표 안의 텍스트만 그대로 들어간다. 반면,
writelines()를 사용하면 Txt file 내부에서도 list형태의 조건을 갖추고 들어가 있는 것을 볼 수 있다. ['a', 'b', 'c' .... ]
** readlines(), readline()
readline() : 파일의 한 행의 데이터를 읽고 문자열로 변환한다. 변수 호출 시 한줄만 변환한다. 조건문의 형태로 각각 줄을 가져올 수 있다.
readlines() : 파일의 모든 데이터를 읽어서 리스트 형태로 변환한다. 한 행씩 "구분하여" 읽으며, 개행문자도 읽어온다.
* while문의 형태로 읽어온 줄이 공백이 아닐경우 다시 다음 줄을 읽어
* 각 줄을 차례대로 읽어온 모습 (end=""지정해서 저렇게 개행됨)
* 반면 readlines의 경우 리스트 안에 각 줄의 자료들이 콤마로 구분되어 모두 들어가 있다.
* 따라서 type(readlines(something)) 하면 <class list >가 출력된다.
** split과 strip을 적절히 이용하여 원하는 값으로 ex) ( key , value ) index[0] = index[1] 변환할 수 있다
'파이썬 > 파이썬 기본' 카테고리의 다른 글
Packages - Pandas (0) | 2022.02.22 |
---|---|
예외, 예외처리 방법들 (0) | 2022.02.03 |
패키지 이용과 site-packages 경로 (0) | 2022.02.03 |
메인(실행) 파일 (0) | 2022.02.03 |
모듈, 모듈이란/ 제작 / 사용 / 자주 사용하는 외부 모듈 (0) | 2022.02.03 |