import glob print glob.glob('*') print print glob.glob('[pa]*.ipynb') print print glob.glob('*[m]*.ipynb') import os print os.listdir('.') # 현재 디렉토리의 파일 목록 얻기 print print os.listdir('../') # 현재 디렉토리의 부모 디렉토리의 파일 목록 얻기 import dircache l = dircache.listdir('.') # 디렉토리 목록을 a에 저장한다. print l print dircache.annotate('.', l) # 디렉토리 파일명 뒤에 '/'를 추가한다. print l import os def filetype(fpath): print fpath, ':', if os.path.isfile(fpath): print 'Regular file' if os.path.isdir(fpath): print 'Directory' if os.path.islink(fpath): print 'Symbolic link' if os.path.ismount(fpath): print 'Mount point' flist = glob.glob('*') for fname in flist: filetype(fname) import os, glob def fileaccess(fpath): print fpath, ':', if os.access(fpath, os.F_OK): print 'Exists', else: return if os.access(fpath, os.R_OK): print 'R', if os.access(fpath, os.W_OK): print 'W', if os.access(fpath, os.X_OK): print 'X', print flist = glob.glob('*') for fname in flist: fileaccess(fname) print os.access('examples', os.R_OK | os.W_OK | os.X_OK) # 읽기, 쓰기, 실행 권한 모두가 있다면 1을 리턴 print os.access('examples', os.R_OK | os.W_OK) print os.access('python18.ipynb', os.R_OK | os.W_OK | os.X_OK) # 'python18.ipynb'의 실행권한은 없다. os.chmod('sample.txt', 0777) #리눅스에서의 실행 예 import os os.rename('t.txt', 't1.txt') # t.c를 t1.c로 바꾼다 print os.access('t.txt', os.F_OK) print os.access('t1.txt', os.F_OK) os.rename('t1.txt', 'examples/t1.txt') # 현재 작업 디렉토리의 t1.c를 public_html에 t1.c이름으로 옮긴다. print os.access('examples/t1.txt', os.F_OK) import shutil shutil.copyfile('docstring.pyc', 'docstring_new.pyc') #t1.txt -> t1_new.txt print os.access('docstring_new.pyc', os.F_OK) os.link('t1.c', 't1.lnk') print os.access('t1.lnk', os.F_OK) os.symlink('t1.c', 't1.slnk') print os.access('t1.slnk', os.F_OK) print os.readlink('t1.slnk') import os import time os.utime('sample.txt', None) # 현재 시간으로 접근 시간과 수정 시간을 설정한다. atime = time.time() mtime = atime - 60 * 60 # 1시간 (60분 * 60초) 전 os.utime('sample.txt', (atime, mtime)) # 접근 시간은 현재 시간, 수정 시간은 1시간 전으로 설정 import os, stat import time result = os.stat('sample.txt') print result print atime = os.stat('sample.txt')[stat.ST_ATIME] # 접근 시간 읽어오기 mtime = os.stat('sample.txt')[stat.ST_MTIME] # 수정 시간 읽어오기 size = os.stat('sample.txt')[stat.ST_SIZE] # 수정 시간 읽어오기 print atime # 숫자로된 시간 print mtime print print time.ctime(atime) # 문자열로 변환 print time.ctime(mtime) print size import tempfile tempfile.mktemp() print os.getcwd() os.chdir('/Users/yhhan/Public/') print os.getcwd() import os os.mkdir('temp') # 0777 기본 모드(rwxrwxrwx)로 만들어짐 os.mkdir('temp2', 0700) # 0700 모드(rwx------)로 만들어짐 os.makedirs('temp/level1/level2') #0777 기본 모드, 중간에 필요한 디렉토리도 모두생성 print os.access('/Users/yhhan/Public/temp', os.F_OK) print os.access('/Users/yhhan/Public/temp2', os.F_OK) print os.access('/Users/yhhan/Public/temp/level1/level2', os.F_OK) os.rmdir('temp2') #디렉토리에 내용이 없을 때 삭제가능 os.rmdir('temp') #디렉토리에 다른 파일이 있으면 삭제할 수 없음 os.removedirs('temp/level1/level2') import shutil shutil.rmtree('temp') # shutil 모듈의 rmtree()를 이용하면 하위파일, 디렉토리를 한 번에 삭제함(조심해서 사용할 것!!!) os.mkdir('temp') os.mkdir('temp/temp2', 0700) shutil.copytree('temp', 'myweb_backup') # public_html디렉토리를 myweb_backup디렉토리로 복사 import os print os.getcwd() print for root, dirs, files in os.walk(os.getcwd()): for fname in files: if fname.endswith('.pyc'): fullpath = os.path.join(root, fname) print 'removing', fullpath os.remove(fullpath) for root, dirs, files in os.walk("/Users/yhhan/git/ipython/Speech"): print '%s files in %s' %(len(files), root) #디렉토리에 있는 파일 수출력 print dirs if 'Recognition' in dirs: print 'Reconition found' print import os print os.path.abspath('o.txt') f = '/Users/yhhan/git/ipython/sample.txt' print os.path.exists(f) print os.path.exists('sample.txt') print os.path.exists('asdf.txt') import os print os.path.expanduser('~/sample.txt') os.path.join('a', 'b', 'c', 'd.txt') print os.curdir #현재 디렉토리 print os.pardir #부모 디렉토리 print os.sep f = '/Users/yhhan/ipython/t.txt' print os.path.basename(f) # 파일명만 추출 print os.path.dirname(f) # 디렉토리 경로 추출 print os.path.split(f) print os.path.splitdrive(f) print os.path.splitext(f) import fnmatch print fnmatch.fnmatch('t.txt', '?.txt') print fnmatch.fnmatch('a.txt', '[abc].txt') print fnmatch.fnmatch('b.txt', '[abc].txt') print fnmatch.fnmatch('c.txt', '[abc].txt') print fnmatch.fnmatch('d.txt', '[abc].txt')