자주쓰는 함수 예시
path = "c:/temp/work_dir/database.txt" path2 = "c:/temp/work_dir"
os.listdir(path) – 파일 목록 불러오기
file_list = os.listdir(path) file_list[0] #print # wav 파일만 찾기 file_list_wav = [file for file in file_list if os.path.splitext(file)[1] == ".wav"]
os.path.dirname(path) – 한단계 위를 리턴
os.path.dirname(path) #'c:/temp/work_dir' > 한단계 위 os.path.dirname(path2) #'c:/temp'
os.path.basename(path) – 마지막 경로를 리턴
os.path.basename(path) # 'database.txt' os.path.basename(path2) # 'work_dir'
os.path.split(path) – 마지막 경로와 그 앞을 분리함
os.path.split(path) # ('c:/temp/work_dir', 'database.txt') os.path.split(path2) # ('c:/temp', 'work_dir')
os.path.splitext(path) – 파일 확장자와 그 앞을 분리함
os.path.splitext(path) # ('c:/temp/work_dir/database', '.txt') os.path.splitext(path2) # ('c:/temp/work_dir', '')
os.path.abspath(path) – path가 상대경로 일때 절대 경로를 리턴
os.path.abspath("./") # 'c:/temp/work_dir' os.path.abspath("./test.txt") # 'c:/temp/work_dir/test.txt'
현재 경로를 기준으로 다른 폴더의 라이브러리를 import 시킬 경우 다음과 같이 쓴다
import sys, os sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname("__file__"))) + "/mylib/") """ 1> os.path.dirname("__file__") - 지금 실행하는 파일의 한단계 위, 즉 '현재 파일이 위치하는 폴더'가 된다. 2> 그것의 abspath > 절대경로로 바꾼 다음에 3> 다시 dirname > 상위 폴더로 가서, 4> + /mylib/ 이라는 폴더를 시스템 폴더로 추가하여 import를 가능하게 함 """