파이썬 파일에서 현재 파일 위치가 필요할 때가 있습니다. csv파일 등을 읽어오는 작업이 있는데 파일 위치가 변동될 때 특히 필요한데요. 오늘은 파이썬에서 현재 파일 위치를 읽어오는 방법에 대해서 알아보겠습니다.
1. __file__
해당 변수를 호출하면 현재 파이썬 파일의 위치를 가져올 수 있습니다. 그런데 주피터랩이나 주피터 노트북에서 해당 변수를 출력하면, NameError: name '__file__' is not defined라는 오류가 출력됩니다.
하지만 다른 파이썬 파일에서 import를 하면 이런 에러가 출력되지 않습니다. 예를 들어 test.py라는 파일에 __file__ 변수가 있고, import test를 이용하면 파일 위치를 잘 사용할 수 있습니다. 파일 이름까지 포함되므로 약간의 파싱은 필요합니다.
그래서 예외처리를 이용하면 __file__ 변수로 파일위치를 참조해서 하는 작업을 할 수 있습니다.
2. globals()['_dh'][0]
globals 함수를 이용하면 현재 파이썬 환경에 대한 다양한 정보를 가져올 수 있는데요. 이 방법은 문제가 하나 있습니다. 현재 실행하는 파일은 잘 작동합니다.
그런데 import를 할 때는 KeyError: '_dh'라는 에러가 발생합니다. import하는 파이썬 파일에서는 생성되는 환경설정 인자가 다르기 때문인데요.
그래서 생각보다 이 방법은 쓸모가 없습니다. 그보다는 위에서 사용한 __file__변수를 이용한 방법이 좋겠습니다.
'파이썬 > 파이썬 기초' 카테고리의 다른 글
파이썬 split 사용법 및 복잡한 패턴으로 나누는 방법 (0) | 2022.09.13 |
---|---|
파이썬 정규표현식 의미와 사용법 (0) | 2022.09.01 |
파이썬 정규표현식 패키지 re와 pygrok 사용법 (0) | 2022.08.31 |
파이썬 랜덤 리스트 생성하는 방법 (0) | 2022.08.10 |
파이썬 기초 문법 학습, cheatsheet pdf 공부하기 (0) | 2022.07.26 |
파이썬 문자열 join VS 판다스 join 알아보기 (0) | 2022.07.25 |
파이썬 정렬함수-sort,sorted,reverse 및 원하는 순서 정렬하기 (0) | 2022.07.18 |
파이썬 XML 파싱 쉽게 하는 방법은?! (0) | 2022.07.06 |