본문 바로가기
Coding

Python에서 파일 복사: shutil.copy(), shutil.copystat() 메서드

by Emily Blunt 2022. 3. 28.
반응형

Python에서 파일 복사: shutil.copy(), shutil.copystat() 메서드

 

Python 파일 복사 방법

Python은 운영 체제 셸 유틸리티를 사용하여 파일을 쉽게 복사할 수 있는 내장 기능을 제공합니다. 다음 명령은 파일 복사에 사용됩니다.
shutil.copy(src,dst)
다음 명령은 메타데이터 정보가 있는 파일을 복사하는 데 사용됩니다.
shutil.copystat(src,dst)

파이썬에서 파일을 복사하는 방법

다음은 shutil copy() 메서드를 사용하여 Python에서 파일을 복사하는 단계입니다. 1 단계) 현재 디렉토리의 원래 경로를 캡처합니다. 파일을 복사하기 전에 현재 디렉토리에 있는 원본 파일의 경로를 가져와야 합니다. 코드에서 –
  1. 변수 선언
  2. 변수에 분할 기능 적용
Python OS 모듈, 셸 스크립트 명령코드 설명
  • 먼저 "guru99.txt" 파일이 있는지 확인합니다. 이전에 guru99.txt 파일을 만들었기 때문에 그것이 존재한다는 것을 알고 있으며 코드를 계속 사용할 것입니다.
  • 변수에 파일 경로를 저장합니다.src" 파일이 존재하는 경우
  • 경로를 얻으면 경로와 파일 이름을 분리합니다.
  • 이를 위해 우리는 split을 사용할 것입니다. path.split 소스 변수에 대한 함수
  • 코드가 실행되면 "파일 이름" 그리고 "파일 경로" 따로
2 단계) shutil 모듈을 사용하여 기존 파일의 복사본을 만듭니다. Shutil 모듈을 사용하여 기존 파일의 복사본을 만듭니다. 여기에서 기존 파일 "guru99.txt"의 복사본을 만드는 데 사용했습니다.Python OS 모듈, 셸 스크립트 명령코드 설명
  • 원래 파일 이름 "guru99.txt"를 가져오고 "guru99.txt.bak" 끝에 문자 .bak를 추가합니다. 확장자가 .bak인 이 이름은 중복 복사본이 됩니다.
  • 그런 다음 유틸리티의 복사 기능을 사용하여 소스에서 대상으로 복사합니다.
  • 코드를 실행하면 패널 오른쪽에 확장자가 .bak인 중복 파일이 생성되는 것을 볼 수 있습니다.
3단계) 파일, 파일 권한 및 기타 정보와 관련된 메타 데이터 복사 복사 기능은 파일의 내용만 복사하고 다른 정보는 복사하지 않습니다. 복사하려면 메타 데이터 파일, 파일 권한 및 기타 정보와 관련된 "카피 스탯" 함수. 이 코드를 실행하기 전에 "guru99.text.bak" 복사 파일을 삭제해야 합니다.Python OS 모듈, 셸 스크립트 명령파일을 삭제하고 프로그램을 실행하면 .txt 파일의 복사본이 생성되지만 이번에는 다음과 같은 모든 정보가 포함됩니다. 파일 권한, 수정 시간 및 메타 데이터 정보. OS 셸로 이동하여 정보를 확인할 수 있습니다.Python OS 모듈, 셸 스크립트 명령다음은 코드입니다.
import os
import shutil
from os import path
def main():
 # make a duplicate of an existing file
if path.exists("guru99.txt"):
 # get the path to the file in the current directory
 src = path.realpath("guru99.txt");
#seperate the path from the filter
head, tail = path.split(src)
print("path:" +head)
print("file:" +tail)
#let's make a backup copy by appending "bak" to the name
dst = src+".bak"
# nowuse the shell to make a copy of the file
shutil.copy(src, dst)
#copy over the permissions,modification
shutil.copystat(src,dst)
if __name__=="__main__":
main()
4단계) 정보 가져오기 마지막으로 수정한 텍스트 파일에 대한 정보를 가져올 수 있습니다.Python OS 모듈, 셸 스크립트 명령
  • Code Line#15- .txt 파일(guru99)이 마지막으로 수정된 날짜, 날짜, 월, 연도 및 시간을 알려줍니다. 경로 모듈을 사용하여 파일 수정 시간 세부 정보를 얻은 다음 시간 클래스 c 시간 함수 읽을 수 있는 시간으로 변환합니다. 따라서 코드를 실행할 때 guru99.txt 파일이 마지막으로 수정된 것을 볼 수 있습니다. 1월 8일 월요일 2018년 13시 35분에
  • 코드 줄 #17- 파일 수정에 대한 정보를 제공하는 것과 동일한 작업을 수행하지만 이를 나타내는 형식이 다릅니다. 여기서 우리가 사용하는 수정 시간 가져오기 기능 (경로.getmtime(“guru99.txt”)). 이제 c 시간 함수를 사용하는 대신 타임 스탬프 기능에서 날짜 시간 개체를 구성할 것입니다. 출력에서 파일 수정 시간 세부 정보가 다른 형식으로 인쇄되는 것을 볼 수 있습니다. 2018-01-08, 13:35:51.334072
다음은 코드입니다.
#
# Example file for working with o.s path module
import os
from os import path
import datetime
from datetime import date, time, timedelta
import time
def main():
 # Get the modification time
 t = time.ctime(path.getmtime("guru99.txt.bak"))
 print
 print(datetime.datetime.fromtimestamp(path.getmtime("guru99.txt.bak")))
if __name__ == "__main__":
 main()

 

요약

  • 코드를 사용하여 기존 파일의 복사본을 만들려면 shutil.copy(src,dst)
  • 원본 파일의 모든 정보를 복제 파일로 복사하려면 파일 권한, 수정 시간 또는 메타 데이터 정보 코드를 사용하여 shutil.copystat(src,dst)
반응형

댓글