ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [파이썬 자동화] 수 천 개의 텍스트 파일 하나로 합치기
    파이썬 자동화 리뷰 2020. 3. 4. 08:30
    반응형

    https://brunch.co.kr/@needleworm/37








    <배운 것>




    personal_ info 폴더 안(/)을 directory 로 설정해준 다음 

    나중에 파일들이 합쳐지면  merged_personal_info.txt 라는 텍스트 파일로 최종파일을 만들워줘!





    일단 그 최종파일을 읽기모드(w)로 열어주고

    directory 즉 personal_ info 폴더 안에 있는 파일 목록을 스캔해서 files 라는 메모리로 저장해줘~





     files 라는 메모리에 있는 파일 목록에다가 filename 이라는 변수를 붙여주고

    만약 filename 이 붙은 애들이 텍스트 형태가 아니면 무시하고 다음 애들로 넘어가줘


    그 다음엔 directory 즉, personal_ info 폴더 안에 있는 파일들을 열어서

    그 내용들(부서,이름,나이 등)에 file 이라는 변수를 붙여줘!


    그 file 들 에게 line이라는 변수를 다시 한 번 더 붙여준 다음

    그 line 들을 out_file 즉, merged_personal_info.txt 최종 파일에 적어줘

    마지막에 엔터 두 번 눌러서 띄어쓰기 하는 것도 잊지 말고~


    다 썼으면 옮겨 적었던 file 을 닫고

    이걸 계속 반복해서 모든 file을 옮겨 적었으면

    최종 파일도 닫아줘~







    <유의할 것>


    생각보다 변수 처리 하는 과정이 조금 어색하다.

    처리된 변수들을 정리해보면


    personal_ info 폴더 안에 있는 파일 목록 -> files 라는 메모리


    files 에 있는 파일 목록들 -> filename 으로 변수 처리


    텍스트 파일만을 선별한 filename 을 열어서 -> 그 안에 있는 내용들을 file 로 변수 처리


    내용물(?)이 들어있는 file 을 -> 옮겨 적기 편하게 line 으로 변수 처리







    <그럼 이렇게 변수처리를 많이 하는 목적은 무엇일까?>


    '제대로 파이썬' 의 변수 처리 하는 목적의 글을 참고하면


    1. 변수에 객체를 할당하면 재사용 할 수 있다. (위의 예시에 해당)


    2. 객체가 어떤 의미를 가지는지 코드에서 알기 쉽게 할 수 있다. (위의 예시에 해당)


    3. 객체를 유지하기 위해서

    -  객체들은 빠르게 연산되기 위해서 하드디스크가 아닌 메모리 위에 올라가게 되는데

       메모리 위에 올라갈 때마다 메모리의 용량을 차지하게 된다. 

       하지만 이 메모리에는 한계가 있다.

       따라서 메모리에 올라간 객체들이 사용되지 않으면, 메모르 용량을 차지하지 않도록 지워

       야 컴퓨터의 속도가 떨어지지 않는다. 이 때 파이썬에서 객체를 메모리에서 지울지 말지

       판단하는 기준 중 하나가 변수에 객체를 참조하고 있는지 확인하는 것이다.



    300x250

    댓글

Learner Runner. 배운 것을 공유하고 생각을 나누는 블로그입니다.