파일 경로 관련 API들
반응형

개발을 하다보면 경로 관련해서 계산해야 할 때가 있다.

 

물론 QFileDialog등과 같은 api를 이용해서 선택한 파일의 path를 가져올 수도 있지만...

 

현재 실행되는 위치에서 상대적으로 위치를 계산하거나.. 절대적인 경로를 가져오거나 할때는 굳이 FileDialog를 안쓰고 가져올 수도 있다...

 

그 방법 들이다..!

 

현재 폴더 가져오기

os.getcwd()

Output:
C:\Users\Administrator\PycharmProjects\pythonProject2\

 

디렉토리 위치 변경하기

os.chdir("C:\Program Files (x86)\ESTsoft")

 

절대 경로 가져오기

print(os.path.abspath(""))

Output:
C:\Users\Administrator\PycharmProjects\pythonProject2\

 

디렉토리명만 가져오기

 

파일명만 가져오기

 

파일 각 경로를 나눠서 리스트로 가져오기

 

경로 새로 생성하기

 

특정 디렉토리의 파일/디렉토리 정보 리스트로 가져오기

 

파일/디렉토리 존재 여부 확인하기

 

디렉토리 존재 여부 확인하기

 

파일 존재 여부 확인하기

 

파일명만 가져오기 if os.path.basename("C:/Python35/Scripts/pip.exe"):
   print(os.path.basename("C:/Python35/Scripts/pip.exe"))
# "pip.exe"
파일 각 경로를 나눠 리스트로 가져오기 "C:\Python35\Scripts\pip.exe".split(os.path.sep)
# ['C:', 'Python35', 'Scripts', 'pip.exe']
경로 새로 생성하기 os.path.join('C:\Tmp', 'a', 'b')
# "C:\Tmp\a\b"
특정 디렉토리 파일/디렉토리 정보 리스트로 가져오기 os.listdir("C:\Python35")
파일/디렉토리 존재 여부확인하기 os.path.exists("C:\Python35")
디렉토리 존재 여부 확인하기 os.path.isdir("C:\Python35")
파일 존재 여부 확인하기 os.path.isfile("C:\Python35\python.exe")

 

 

디렉토리명만 가져오기

print(os.path.dirname("C:\\Program Files\\JetBrains\\PyCharm Community Edition 2022.2.2\\bin\\pycharm64.exe"))

Output:
C:\Program Files\JetBrains\PyCharm Community Edition 2022.2.2\bin

파일명만 가져오기

print(os.path.basename("C:\\Program Files\\JetBrains\\PyCharm Community Edition 2022.2.2\\bin\\pycharm64.exe"))

Output:
pycharm64.exe

 

경로 새로 생성하기

print(os.path.join('C:\\Users', 'test1', 'test2'))

Output:
C:\Users\test1\test2

 

디렉토리에 있는 모든 파일/디렉토리 리스트 화하기

print(os.listdir("C:\\Program Files\\JetBrains\\PyCharm Community Edition 2022.2.2\\bin"))

Output:
['brokenPlugins.db', 'elevator.exe', 'format.bat', 'fsnotifier-wsl', 'fsnotifier.exe', 'icons', 'idea.properties', 'IdeaWin32.dll', 'IdeaWin64.dll', 'inspect.bat', 'launcher.exe', 'ltedit.bat', 'msvcp140.dll', 'pycharm.bat', 'pycharm.ico', 'pycharm.svg', 'pycharm64.exe', 'pycharm64.exe.vmoptions', 'repair.exe', 'restarter.exe', 'runnerw.exe', 'Uninstall.exe', 'WinProcessListHelper.exe', 'WinShellIntegrationBridge.dll', 'wslhash', 'wslproxy']

 

파일/디렉토리 존재 여부 확인하기

print(os.path.exists("C:\\Program Files\\JetBrains\\PyCharm Community Edition 2022.2.2\\bin"))

Output:
True


print(os.path.exists("C:\\Program Files\\JetBrains\\PyCharm Community Edition 2022.2.2\\bin222"))

Output:
False

 

디렉토리 존재 여부 확인하기

print(os.path.isdir("C:\\Program Files\\JetBrains\\PyCharm Community Edition 2022.2.2\\bin"))

Output:
True

 

파일 존재 여부 확인하기

print(os.path.isfile("C:\\Program Files\\JetBrains\\PyCharm Community Edition 2022.2.2\\bin\\pycharm64.exe"))

Output:
True
반응형