728x90
__file__ 이란?
해당 코드를 가지는 파이썬 파일의 이름 혹은 경로이며, 실행한 위치에서의 상대경로를 포함합니다.
import os
print(__file__)
더보기
(py36) PS C:\Users\Desktop\python\os_\ex5> ls
디렉터리: C:\Users\Desktop\python\os_\ex5
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2020-06-30 오후 2:21 246 ex5.py
(py36) PS C:\Users\Desktop\python\os_\ex5> python ex5.py
ex5.py
(py36) PS C:\Users\Desktop\python\os_\ex5> cd ..
(py36) PS C:\Users\Desktop\python\os_> python ex5/ex5.py
ex5/ex5.py
절대경로 구하기 os.path.abspath()
절대경로를 구할 때는 abspath() 를 사용합니다.
다음과 같이 사용하면 실행 위치와 상관없이 파이썬 파일의 절대경로를 가질 수 있습니다.
import os
# print(__file__)
path = os.path.dirname(os.path.abspath(__file__))
print(path)
더보기
(py36) PS C:\Users\Desktop\python\os_\ex5>
(py36) PS C:\Users\Desktop\python\os_\ex5> python ex5.py
C:\Users\Desktop\python\os_\ex5
(py36) PS C:\Users\Desktop\python\os_\ex5> cd ..
(py36) PS C:\Users\Desktop\python\os_>
(py36) PS C:\Users\Desktop\python\os_> python ex5/ex5.py
C:\Users\Desktop\python\os_\ex5
다음과 같이 사용할 수 있습니다.
import os
path = os.path.dirname(os.path.abspath(__file__))
print(path)
for file in os.listdir():
# p = os.path.join(path, file)
p = os.path.abspath(file)
print(p)
더보기
c:\Users\Desktop\python\os_\ex5
C:\Users\Desktop\python\os_\ex5\a
C:\Users\Desktop\python\os_\ex5\b
C:\Users\Desktop\python\os_\ex5\ex5.py
상대경로 구하기 os.path.relpath()
상대경로를 구할 때는 relpath() 를 사용합니다.
import os
path = os.path.dirname(os.path.abspath(__file__))
print(path)
os.chdir('test_dir')
print(os.getcwd())
p = os.path.relpath(path)
print(p)
더보기
c:\Users\Desktop\python\os_\ex5
C:\Users\Desktop\python\os_\ex5\test_dir
..
'Language > Python' 카테고리의 다른 글
파이썬 OS 모듈 - 하위 디렉터리 검색 os.walk() (0) | 2020.07.02 |
---|---|
파이썬 OS 모듈 - 파일 복사 shutil.copy2 shutil.copytree (0) | 2020.06.30 |
파이썬 win32gui 모듈 다루기 - 현재 창 이름 구하기 (0) | 2020.06.30 |
파이썬 클립보드(clipboard) 모듈 다루기 (1) | 2020.06.30 |
파이썬 OS 모듈 - 파일 삭제, 디렉터리 삭제 os.remove os.rmdir shutil.rmtree (0) | 2020.06.30 |