[Python] os.path 자주쓰는 함수, 다른 폴더 library import 시키기

자주쓰는 함수 예시

 

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를 가능하게 함

"""

그 외, os.path.join(path1,path2,..)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.