JSITCLUB
파이썬 - 폴더 , 파일 및 경로 작업정리 본문
프로그램을 작성 하다보면 폴더나 파일을 복사하거나 이동 하며 정리하는 작업을 하는경우도 있고 파일의 경로나 폴더 경로를 가져와야 하는 경우가 종종 있습니다.
그래서 파이썬에서 사용하는 관련 내용들을 정리 해봤습니다.
물론 경로가 문자열 이므로 문자열의 연산이나 파이썬의 문자열 메서드로 가공해서 처리 할 수도 있지만, os 의 path를 이용하는 방법을 정리했습니다.
1. 경로 관련
현재 실행파일 경로 가져오기
__file__
주어진 경로의 폴더경로 가져오기
os.path.dirname()
주어진 경로의 파일명 가져오기
os.path.basename()
import os
# 현재실행되는 파이썬 파일의 경로
print(__file__)
# 실행 파이썬 파일의 경로만 가져오기
print(os.path.dirname(__file__))
# 실행 파이썬 파일의 파일명(확장자포함) 가져오기
print(os.path.basename(__file__))
# 실행되는 터미널에서의 위치(cmd 창에서의 프롬프트 위치)
print(os.getcwd())
# 다른 예제
a="C:\\Users\\JSITCLUB\\Documents\\images\\test.jpg"
print(os.path.dirname(a))
print(os.path.basename(a))
새로운 경로를 만들기
os.path.join()
절대경로로 표현
os.path.abspath()
상위폴더(부모폴더) 표현
os.path.pardir 또는 ".."
import os.path as p
print(p.join("aaa","bbb","ccc"))
#하위폴더 추가된 경로
print(p.join("C:\\","ddd"))
print(p.join(p.dirname(__file__),"ddd"))
#상위폴더 경로 #1
print(p.abspath(p.join(p.dirname(__file__),"..")))
#상위폴더 경로 #2
print(p.abspath(p.join(p.dirname(__file__),p.pardir)))
#한레벨 더 위의 경로
print(p.abspath(p.join(p.dirname(__file__),p.pardir,p.pardir)))
이정도면 경로를 표현하는것은 거의 가능할것으로 생각됩니다. (혹시 자주사용하는데, 빠진것이 있으면 계속 추가 하겠습니다.
2.파일 관련 모듈의 메서드
파일 존재여부 확인(있으면 True)
os.path.exists() -> bool
파일 복사
shutil.copy(원본이름,사본이름)
import os.path as p
import shutil
# 파일존재여부 있으면 True
print(p.exists("result.txt"))
# 파일복사(원본이름,사본이름)
shutil.copy("result.txt","result_copy.txt")
'파이썬 > 활용' 카테고리의 다른 글
파이썬으로 간단히 웹서버 실행 하기 (0) | 2022.10.14 |
---|---|
파이썬 - 패스워드 설정된 엑셀 파일 열기 (1) | 2022.07.11 |
파이썬 - 엑셀 관련 모듈 정리 (openpyxl, xlrd, xlwt) (1) | 2021.10.15 |
파이썬 파일을 exe 실행 파일로 변환 - pyinstaller (0) | 2021.02.20 |
Comments