본문 바로가기
FastCampus/작심 30일

패스트캠퍼스 챌린지 27일차

by Dream_World 2021. 10. 2.

파일 입출력

이제 모듈과 패키지 강의가 다 끝났구나! 설치하고 테스트 할 때가 제일 재밌는 것 같다. 코딩은 왜이렇게 어려운지 창의적이여야 하는 건지 논리적이여야 하는건지 아직도 오리무중 이다. 그럼에도 '나'는 학습하고자 한다. 파이썬으로 할 수 있는 것을 다 만들어 보고야 말 것이다. 최근에 크롤링 해보면서 재밌었던 것 같다. 뉴스 기사 크롤링이 제일 인상 깊었으며 보안 뉴스도 크롤링 해볼 생각이다. 웹은 지금도 만들 수 있지만 뼈대만 할 수 있다는게 흠이라는 것이다. 내가 공부하는 분야가 너무 부정확해 이것저것 다 손되고 손놓고 하고 있어서 쉬운 결정이 없는 듯 한 느낌이다. 파일 입출력이 오늘 들어야 할 강의인데 입출력 여태껏 계속 해왔는데 다른 부분도 있나 궁금한 부분이다. 난 코딩 한줄 작성해도 출력이 안되면 궁금해서라도 어떻게든 출력하려고 노력했고 그렇게 기록해왔었다. 그럼에도 다른 부분이 있을까 ? 알아도 계속 듣고 또 들어야 하는것이 초심자의 길 아니겠는가 ? 내 궁금증을 통해서 내 모든 것은 시작되었다. 할 수 있을까가 아닌 해봐야지 하고 던졌다가 튕겨나오는 모습을 참 대단한 결심이지 않는가 ? 글도 못 쓰는데 블로그 쓰고 있고 생각은 많은데 정리가 안되고 복잡 미묘한 심정이다. 블로그에 내 삶을 다 써내려 가고 싶지만 막상 또 컴퓨터를 오래 앉아서 하고 싶지는 않고 내 욕심인가 싶기도 하다. 이리저리 문서 메모는 무지 많이해서 찾아서 쓸 수는 있다는게 재밌는 요소이다. 생각 날 때마다 날려서 쓴 메모들 휴대폰일 때도 있고 웹일 때도 있고 노트장일 때도 있다. 난 글을 많이 쓰지만 심오한 사람인 것 같다.

 


파일 입출력 기본

파일 입출력을 사용하는 이유

- 입력 : input() / 출력 : print()

- 파일로부터 데이터를 읽어와서 프로그램에 사용하기 위함

- 프로그램에서 만든 데이터를 파일형태로 저장하기 위함

 

파일 열기모드

- w : 쓰기 모드 (write)

- a : 추가 모드 (append)

- r : 읽기 모드 (read)

파일 열기 > 파일 작업 > 파일 닫기

 

파일 쓰기, 추가, 읽기

파일쓰기, 추가, 읽기 입출력

- 파일 쓰기

파일객체 = open("파일이름", "w")
파일객체.write(데이터)
파일객체.close()

vscode에서 한글 깨짐 현상

파일객체 = open("파일이름", "w", encoding="utf8")

vscode에서 한글 깨짐 해결

- 파일추가

파일객체 = open("파일이름", "a")
파일객체.write(데이터)
파일객체.close()

- 파일읽기 (전체 읽기)

파일객체 = open("파일이름", "r")
데이터 = 파일객체.read()
print(데이터)
파일객체.close()

- 파일읽기 (한줄 읽기)

파일객체 = open("파일이름", "r")
while True:
	데이터 = 파일객체.readline()
        print(데이터)
        if not 데이터:
    	    break
파일객체.close()

 

오늘은 파일 쓰기, 추가, 읽기에 대해 학습할 수 있었다. 파일을 처음에 쓸 때는 당황했다. 한글 폰트가 깨져서 어떻게 하지 ? 고민하던 찰 나 막바지에 설명으로 알려주시면 이해할 수 있었다. 인코딩이 안되어 있었기에 한글이 vscode에서는 인식을 못했다는 것을 어림짐작만 했지 어떻게 사용하는지는 헷갈렸다. 배운 것 같은데 금세 잊어먹은 느낌이랄까 ? 역시 반복 학습의 중요성을 다시금 깨닫게 해주는 강의였던 것 같다. 파일을 계속해서 추가할 때마다 a란 것을 쓰는것이 편할까라는 의심을 하게 된다. 다른 방법은 없을까 ? 분명히 존재하겠지 ? 그렇게 생각을 하며 ... 파일을 왜 닫을까 계속해서 고민하던 찰 나 파일을 닫아줘야 저장이 되기 때문에 닫는다고 한다. 그럼 저장 안하고는 못쓸까 ? 라는 의문을 또 가지며 오늘 학습에는 무한 궁금증이 생기는 시간이였던 것 같다. 왜 ? 왜 ? 왜 ? 그렇게 되어야 하는데 ? 나만 궁금한가 ? 효율적인 다른 모듈은 없는건가 ? 이걸 만들어서 모듈로 활용하는 방법은 없는걸까 ? 아직은 생각 외에는 할 수 없음을 찾는 방법도 만드는 방법도 잘 모르겠다.

27일차는 여기서 마무리 하고자 합니다.

 



본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 


패스트캠퍼스 링크 : https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

댓글