파일 / 디렉토리 다루기 > 파이썬 팁

본문 바로가기
사이트 내 전체검색

회원로그인

올서베이넷
무료 온라인 설문 사이트
OVITII
웹 프레젠테이션 도구

파이썬 팁

파일 / 디렉토리 다루기

페이지정보

글쓴이 관리자 조회 31,331 조회 날짜 19-05-02 14:11
댓글 0 댓글

SNS 공유

  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

내용

파이썬에서 파일과 디렉토리를 다루는 함수는 os 모듈에 있다. 따라서 os 함수들을 사용하기 위해서는 os 모듈을 import해야 한다.

 

import os

 

 

용도 함수
현재 작업 폴더 얻기

os.getcwd() 


> "C:\Temp"

디렉토리 변경

os.chdir("C:\Tmp")

디렉토리 안의 파일/서브디렉토리 리스트

os.listdir("C:\Python37")

os.listdir() # 현재 디렉토리 리스트 조회

파일의 이름 바꾸기

os.rename("abc.txt", "123.txt")

# 경로가 다르면 이동과 같은 역할을 한다.

파일 지우기

os.remove("123.txt")

디렉토리 만들기

os.mkdir("test_dir")

디렉토리 지우기

os.rmdir("test_dir")
특정 경로에 대해 절대 경로 얻기

os.path.abspath(".\\Scripts") 


> "C:\Python37\Scripts"

경로 중 디렉토리명만 얻기

os.path.dirname("C:/Python37/Scripts/pip.exe")


> "C:/Python37/Scripts"

경로 중 파일명만 얻기

os.path.basename("C:/Python37/Scripts/pip.exe")


> "pip.exe"

경로 중 디렉토리명과 파일명을 나누어 얻기 dir, file = os.path.split("C:/Python37/Scripts/pip.exe")
파일 각 경로를 나눠 리스트로 리턴하기
os.path.sep은 OS별 경로 분리자

"C:\Python37\Scripts\pip.exe".split(os.path.sep)


> ['C:', 'Python37', 'Scripts', 'pip.exe']

경로를 병합하여 새 경로 생성

os.path.join('C:\Tmp', 'a', 'b') 


> "C:\Tmp\a\b"

파일 혹은 디렉토리 경로가 존재하는지 체크하기 os.path.exists("C:\Python37")
디렉토리 경로가 존재하는지 체크하기 os.path.isdir("C:\Python37")
파일 경로가 존재하는지 체크하기 os.path.isfile("C:\Python37\python.exe")

파일의 크기

os.path.getsize("C:\Python37\python.exe")
파일 만든 시간 (유닉스 타임스탬프) os.path.getctime("C:\Python37\python.exe")
파일 수정 시간 (유닉스 타임스탬프) os.path.getmtime("C:\Python37\python.exe")
파일 엑세스 시간 (유닉스 타임스탬프) atime = os.path.getatime("C:\Python37\python.exe")
타임스탬프 년월일 시분초로 표시 datetime.datetime.fromtimestamp(int(atime))

 

 

 

#########################

 

 

파일 복사

 

import shutil

 

shutil.copy(원본파일, 복사할 파일)

 

shutilcopy 방법은 4가지가 있다.

copy, copyfile, copy2, copyfileobj  각 메서드의 차이점은 아래 표와 같다.

 

Method 메타데이타 복사 퍼미션 복사 버퍼사용

복사본에

디렉토리명만 적기

shutil.copy X O X O
shutil.copyfile X X X X
shutil.copy2 O O X O
shutil.copyfileobj X X O X

 

 

 

댓글목록

총 10 건 , 1 페이지
게시물 검색
GNUBOARD_M
Copyright © JBMPA.com All rights reserved.