본문 바로가기

Python

[Python] directory 다루기

1. OS

OS 모듈을 사용해서 directory를 다룰 수 있다.

os.mkdir

디렉토리를 만든다

import os
os.mkdir("log")

os.path.isdir

디렉토리가 있는지 확인

if not os.path.isdir("log"):
	os.mkdir("log")

os.listdir()

지정한 디렉토리 내의 모든 파일과 디렉토리의 list를 리턴한다.

os.path.splitext

확장자만 따로 떨어뜨린다.

name = r'c:\temp\python\data.txt'
print(os.path.splitext(name)) 
# ('c:\\temp\\python\\data', '.txt')

 

os.path.abspath(path)

절대 경로 반환

import os
os.path.abspath(__file__)
>>> '/Users/Bruce/Desktop/path_test/path.py'
  • __file__ 은 Python 의 예약어로, 실행되는 스크립트 파일명을 나타낸다.
  • abspath 의 argument 는 해당경로에 실제로 파일이 존재해야만 하는것은 아니다. 임의의 문자열을 넣어도 해당 경로를 반환해준다.
import os
os.path.abspath('tmp_string')
>>> '/Users/Bruce/Desktop/path_test/tmp_string'
import os
os.path.abspath('../some')
>>> '/Users/Bruce/Desktop/some'

 

os.path.dirname(path)

path의 디렉토리 경로 반환

import os
os.path.dirname('/Users/Bruce/Desktop/path_test/tmp_string')
>>> '/Users/Bruce/Desktop/path_test'
import os
os.path.dirname('/Users/Bruce/Desktop/path_test')
>>> '/Users/Bruce/Desktop'

 

 

참고: https://devbruce.github.io/python/py-39-path+function/

2. glob

glob는 파일들의 리스트를 뽑을 때 사용한다. 파일의 경로명을 이용해서 입맛대로 사용할 수 있다. 

glob()

인자로 받은 패턴과 이름이 일치하는 모든 파일과 디렉터리의 리스트를 반환한다.

패턴을 그냥 *라고 주면 모든 파일과 디렉터리를 볼 수 있다.

from glob import glob
>>> glob('*.exe')               # 현재 디렉터리의 .exe 파일
['python.exe', 'pythonw.exe']

 

참고: https://chess72.tistory.com/132, https://wikidocs.net/83