연휴 끝 일상 복귀! 컴퓨터 언어 이해하기 좋은 때
2022년 9월 13일 11시 41분-1시 7분 사이. + 질문해서 낮에 답 확인
*비전공자의 EliceAcademy <Do it! 파이썬 생활 프로그래밍> 공부 기록입니다.
유튜브에서 '코딩할때 듣기 좋은 음악'을 검색해 들어가는 동영상들에는 자주 다음과 같은 내용의 댓글이 달린다. 대부분 영어로 쓰여 있다.
'저는 당신이 누군지 모르고, 우리는 어쩌면 평생 만날 일이 없겠지만, 당신이 행복하길 바라요.'
기분이 몽글몽글해진다. 동시에 왜 이런 댓글들이 유난히 재즈풍의 코딩음악 영상에 많이 달리는지 궁금하기도 하다. 밤새 크롤링하는 사람들이, 지칠 때면 읽으라고 적어두는 걸까? 물론 이유와 상관없이, 따스한 말임에는 틀림없다.
DAY 9
오늘부터는 텍스트 파일 가공하기라는 새로운 챕터를 시작한다. 다 마치고 나면 파이썬으로 파일을 입출력하고, 정규표현식으로 문자열을 다룰 수 있게 된다고 한다.
[실습1] 현재 위치 설정하기
파일을 입출력하기 위한 첫단계는 '현재 위치를 아는 것' 이라고 한다(나의 습관을 고치는 첫단추는 '내가 그러한 습관을 갖고있음을 인정하는 것', 이라는 말과 비슷하게 들린다).
그렇다면 '현재 위치'를 어떻게 알 수 있을까?
os모듈을 알아야 한다. os모듈에는 운영체제(OS)에서 제공하는 기본적인 기능을 사용할 수 있는 여러 명령 및 함수가 들어있다. 현재 파이썬이 실행되는 위치를 알아내거나, 현재 폴더에 있는 파일들을 리스트 형태로 저장할 때 많이 사용한다고 한다.
모듈 불러오기: import os
#import 모듈 형태로 모듈 전체를, from 모듈 import 이름 형태로 모듈 내에서 필요한 부분만을 가져올 수 있다. 단, 이때 모듈과 모듈 내 요소의 포함관계를 고려해서 사용해야 한다.
참고한 내용: 5.2 모듈 가져오기(import)
https://wikidocs.net/77
현재 위치 확인: print(os.getcwd())
현재 위치 변경: os.chdir('현재위치 확인해서 나온 값')
#현재위치를 변경한 후 현재 위치 확인하는 코드를 써서 출력해보면 바뀐 위치를 알려주게 된다. 쓸 일이 있다면 위치가 잘 변경됐는지 검토 차원에서 한번 시도해보면 좋을 것 같다.
##이때 현재위치 주소값은 꼭! ''안에 입력해야 한다.
현재 위치에 어떤 파일 있는지 확인: print(os.listdir())
#이때 반환해서 나오는 값은 list형식이므로(ex. ['a.png', 'b.png', 'c.png']), 활용하기에 좋다(ex. png 파일만 모아서 하나의 파일로 합쳐 다른 곳으로 복사하기 등).
[실습2] 파일 열고 닫기
윈도우 체제에 익숙한 내게, 더블클릭해서 어떠한 파일을 열어 내용을 확인하는 건, 숨쉬기만큼이나 자연스러운 일이다. 사실은 그 과정이, 특정 폴더에서 특정 파일을 특정한 목적으로 불러오는 여러 단계를 포함하고 있다고 한다!
open함수로 파일을 열 수 있다. 사용법은 아래와 같다.
파일 객체 = open('파일 이름', 파일 열기 모드)
실제로는 두 가지 방법으로 사용한다고 한다. 그리고 불러온 파일을 계속 사용해 작업할 경우 1)이 낫다.
1) f = open('a.txt', 'w')
2) open('a.txt', 'w')
#파일 객체 이름을 따로 지정하지 않아도 파일은 열린다.
참고내용: Python - File Object(파일 객체)
https://kimdoky.github.io/python/2017/11/28/python-file_object/
파일을 열어서 사용할 일이 끝났다면, close함수로 닫기까지 해줘야 끝. 그렇지 않으면 다른 작업 시 오류가 발생할 수 있다. 닫으려면 아래와 같이 적으면 된다.
f.close()
[실습3] 파일 열기 모드 알아보기
파일 열기모드는 3종류다.
'w': 쓰기 모드. 파일에 내용을 새로 쓸 때 사용한다.
'r': 읽기 모드. 파일 내용을 읽을 때 사용한다.
'a': 추가 모드. 파일에 내용을 추가할 때 사용한다.
모드에 따라 적당한 함수를 적용해 여러 작업을 시도할 수 있다. write함수로 글을 쓸 수 있고(쓰고 나면 쓴 문자개수로 잘 쓰였는지 확인할 수 있음), read함수로 읽을 수 있고, seek함수로 파일의 처음으로 커서를 이동할 수 있다. 'a'를 활용해 파일을 추가 모드로 열었을 때는, 기존 파일 맨 마지막에 원하는 내용을 추가할 수도 있다.
헬프센터에 질문하느라 살짝 늦은 업로드. 아무래도 기계가 채점하다 보니 시간과 장소에 구애받지 않고 답을 제출할 수 있는 건 좋은데, 띄어쓰기 한 칸에 따라 오류가 만들어질 수도 있다는 점에서 유연성이 조금 떨어지는 것 같기도 하다. 하지만 원래 코딩은 빈칸 하나 철자 하나 따라 결괏값이 완전히 달라지기도 하니까, 이렇게 하는 게 맞다는 생각이 같이 들기도 한다.
다시 추적추적 비오는 시기다. 새로운 태풍이 올지, 기상청과 언론 모두 주시하고 있는듯한데, 더 이상의 큰일이나 재해는 없었으면 싶다. 얼른 청명한 가을을 맞고 싶다.