반응형
개발을 하다보면 경로 관련해서 계산해야 할 때가 있다.
물론 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
반응형