[Python]디렉토리에 더 이상 쫄지 말자 1탄

Sanghoon Han·2020년 11월 19일
1
post-thumbnail

Python 코드를 처음 입문하는 사람들에게 디렉토리는 괭장히 낯설다.
나 역시도 python을 처음 사용했을 때 파일을 불러오는 것에 어색해하고 불러올때 마다 나오는 에러를 보고 짜증을 느꼈다.
그리고 몇몇 사람들은 파일을 불러오는 것에 막혀 프로그래밍을 그만두는 사람들도 있을것 같다
.
나 역시도 파일이 안올라 갈때 마다 심장이 뛰고 당황했던 적이 있다.

그냥..
우리가 늘 하는 것처럼 그냥 폴더에서 파일을 드래그해 파일을 올렸으면 좋겠다 생각했다.

그런데 이번에 프로젝트를 하면서 디렉토리를 잘 활용하면 정말 너무나도 편하고 유용하다라고 느꼈다.

디렉토리 이것을 잘 활용하면 생각보다 너무 편하고 유용하다!

예를 한번 들어보자

위 파일에서 text 파일만 골라서 내용을 수정하고 싶다.
위를 해결하는 방법은 두 가지가 있다.

1)메모장을 켜서 하나하나 들어가 내용을 직접 수정한다.

2)python과 디렉토리를 활용해 규칙을 찾아서 내용을 컴퓨터가 수정하게 한다.

만약 파일이 위에 보이는것 처럼 10개 미만일 경우 수동으로 수정하는게 빠를 수도 있다.

하지만 만약 파일이 1000개, 혹은 10000개. 100000000000개.. 일 경우 손으로 수정해야 한다면?

심심해서 하는 계산
만약 파일 한 개를 수동으로 수정하는데
5초가 걸린다고 가정하자
10000개를 수정해야 한다면
50000초가 걸린다.
1시간 = 3600초
14시간 = 50400초
약 14시간 동안 쉬지도 않고
계속 작업을 해야 수정이 가능하다.

이걸 14시간 동안 수정하다간 당신의 키보드는..살아남지 못할 것 같다.

이제 이 글을 본 사람들은 디렉토리를 통해 파일에 접근을 시켜야 하는 것에 조금은 이해했을 것이라 생각한다.

그러면 어떻게 접근을 하는데?

일단 가장 기초는 두가지라 생각한다.

1) os.getcwd( ) 를 통해 내 위치 어딘지 파악하기
2) 윈도우 폴더 속성값을 통해 내가 불러오고 싶은 파일 위치 확인하기

  • os.getcwd( ) 처음 보는 사람들에게 매우 당황스러운 6글자이다.
    하지만 프로그래밍 언어역시 언어 이다.

    getcwd 는 get current working directory 의 약자이다
    즉 내 현재의 위치를 알려줘!!!!의 줄인말이다.
    나는 getcwd만 알았을 때 절대로 안 외워졌다.
    getcwd 대신 get current working directory를 외워 버리자.

    그러면 파이썬 코드를 통해 직접 확인해보자.

왜 그럼 내 위치를 알아야 할까

컴퓨터의 경우 모든 행동은 지금 내 위치를 기준으로 한다.
우리가 맛집을 지도에 검색해서 길 찾기를 한다고 하자
그때 길 역시 기준과 시작점은 내 위치이다.

마치 os.getcwd()로 내 시작이 어딘지 알고 그다음에 접근하고 싶은 파일을
내 위치 기준으로 움직인다.

  • 윈도우 폴더 속성값을 통해 내가 불러오고 싶은 파일 위치 확인해 열어보기

그러면 내 위치를 알았으니 본격적으로 한번 바탕화면에 있는 디렉토리 절대 어렵지 않아요 파일을 열어보자

윈도우에서는 바탕화면에서 저 파일을 클릭해 주면 끝이다.
파이썬에서도 마찬가지이다 지금 내 위치를 알고 있고 저 파일 위치를 확인해 열어주기만 하면 된다.

파일 위치는 어떻게 확인 할까?

위처럼 파일 속성 값에 들어가면 친절하게 위치를 알려준다. 저걸 그대로 복사해서
내 위치 -> 그다음부터 적어주면 된다.
예를 들면 나의 경우 getcwd()를 했을 때
C:/Users 까지 이미 나의 시작점이다 그래서
그 이후인 '내아이디/Desktop/파일이름' 으로 읽어 주었다.

참고로 절대위치를 이용해 C:/Users/아이디/Desktop/디렉토리 절대 어렵지 않아요 이것봐.txt 로 읽을수도 있다. 하지만 내 위치를 알기에 상대위치를 사용해 접근하는것이 코드가 더 간결하고 나중에 활용하기 좋다.

다음 2부에서는 더 다양한 os의 method(getcwd() 같은 것)을 활용해 함수를 만들고
아까 저 위에 있던 저런 10000개의 파일들을 접근해 처리하는 방법에 대해 설명!하겠습니다.

P.S with open( ) 의 경우 나중에 따로 이것을 사용해서 어떻게 파일을 읽는지에 대해서도 글을 쓰겠습니다. 조금만 기다려주세요!!

References
[Python] 파이썬 파일과 디렉토리 경로 https://itmining.tistory.com/122

profile
Fail Fast learn Faster

2개의 댓글

comment-user-thumbnail
2020년 11월 20일

2부 기대되요!!

답글 달기
comment-user-thumbnail
2020년 11월 20일

코딩의 생활화 🥳

답글 달기