import os
print os.listdir('.') # 현재 디렉토리의 파일 목록 얻기
print
print os.listdir('../') # 현재 디렉토리의 부모 디렉토리의 파일 목록 얻기
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'
flist = os.listdir('.')
for fname in flist:
filetype(fname)
import os
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 = os.listdir('.')
for fname in flist:
fileaccess(fname)
os.chmod('sample.txt', 0777) # 리눅스에서의 실행 예
import os
os.rename('t.txt', 't1.txt') # t.txt를 t1.txt로 바꾼다
print os.access('t.txt', os.F_OK)
print os.access('t1.txt', os.F_OK)
os.rename('t1.txt', 'example/t1.txt') # 현재 작업 디렉토리의 t1.txt를 example에 t1.txt이름으로 옮긴다.
print os.access('example/t1.txt', os.F_OK)
import shutil
shutil.copyfile('sample.txt', 'sample_new.txt')
print os.access('sample_new.txt', os.F_OK)
import os
print os.path.abspath('o.txt')
f = '/Users/yhhan/git/python-e-learning/sample.txt'
print os.path.exists(f)
print os.path.exists('sample.txt')
print os.path.exists('asdf.txt')
print os.curdir #현재 디렉토리
print os.pardir #부모 디렉토리
print os.sep
f = '/Users/yhhan/git/python-e-learning/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 os
print os.getcwd()
os.chdir('/Users/yhhan/Public/')
print os.getcwd()
import os
os.mkdir('temp') # 0755 기본 모드(rwxr-xr-x)로 만들어짐
os.mkdir('temp2', 0700) # 0700 모드(rwx------)로 만들어짐
os.makedirs('temp/level1/level2') #0755 기본 모드, 중간에 필요한 디렉토리도 모두생성
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')
os.mkdir('temp')
os.mkdir('temp/temp2', 0700)
shutil.copytree('temp', 'myweb_backup')
import os
os.chdir('/Users/yhhan/git/python-e-learning')
print os.getcwd()
print
for path, subdirs, files in os.walk(os.getcwd()):
for fname in files:
if fname.endswith('.pyc'):
fullpath = os.path.join(path, fname)
print 'removing', fullpath
os.remove(fullpath)
참고 문헌: 파이썬(열혈강의)(개정판 VER.2), 이강성, FreeLec, 2005년 8월 29일