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

Python 파일 복사 방법

Python은 운영 체제 셸 유틸리티를 사용하여 파일을 쉽게 복사할 수 있는 내장 기능을 제공합니다.

FOLLOwing 명령은 파일을 복사하는 데 사용됩니다

shutil.copy(src,dst)

FOLLOwing 명령은 메타데이터 정보가 포함된 파일을 복사하는 데 사용됩니다.

shutil.copystat(src,dst)

Python에서 파일을 복사하는 방법

Shutil copy() 메서드를 사용하여 Python에서 파일을 복사하는 단계는 다음과 같습니다.

단계 1) 현재 디렉터리의 원래 경로를 캡처합니다.
파일을 복사하기 전에 현재 디렉터리에 있는 원본 파일의 경로를 가져와야 합니다. 코드에서 –

  1. 변수 선언
  2. 변수에 분할 기능 적용

Python에서 파일 복사

코드 설명

  • 먼저 “guru99.txt” 파일이 존재하는지 확인하겠습니다. 이전에 guru99.txt 파일을 생성했으므로 해당 파일이 존재한다는 것을 알고 있으며 코드를 계속 진행하겠습니다.
  • 파일 경로를 '변수에 저장합니다.SRC"파일이 존재하는 경우
  • 경로를 얻은 후에는 경로와 파일 이름을 분리합니다.
  • 이를 위해 분할을 사용하겠습니다. path.split 소스 변수에 대한 함수
  • 실행될 때 코드는 "파일 이름"및"파일 경로"따로

단계 2) Shutil 모듈을 사용하여 기존 파일의 복사본을 만듭니다.
Shutil 모듈을 사용하여 기존 파일의 복사본을 만듭니다. 여기서는 기존 파일 "guru99.txt"의 복사본을 만들었습니다.

Python에서 파일 복사

코드 설명

  • 원본 파일 이름 "guru99.txt"를 선택하고 "guru99.txt.bak" 끝에 문자 .bak를 추가합니다. .bak 확장자를 가진 이 이름은 중복 사본이 될 것입니다.
  • 그런 다음 유틸리티의 복사 기능을 사용하여 소스에서 대상으로 복사해 보겠습니다.
  • 코드를 실행하면 패널 오른쪽에 확장명이 .bak인 중복 파일이 생성되는 것을 볼 수 있습니다.

단계 3) 파일, 파일 권한 및 기타 정보와 관련된 메타데이터 복사
복사 기능은 파일의 내용만 복사하며 다른 정보는 복사하지 않습니다. 복사하려면 메타 데이터 파일과 관련된 파일 권한 및 기타 정보를 사용해야 합니다.카피스타트" 기능. 이 코드를 실행하기 전에 복사 파일 "guru99.text.bak"를 삭제해야 합니다.

Python에서 파일 복사

파일을 삭제하고 프로그램을 실행하면 .txt 파일의 복사본이 생성되지만 이번에는 다음과 같은 모든 정보가 포함됩니다. 파일 권한, 수정 시간 및 메타데이터 정보. OS 셸로 이동하여 정보를 확인할 수 있습니다.

Python에서 파일 복사

다음은 코드입니다.

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에서 파일 복사

  • 코드 라인#15- .txt 파일(guru99)이 마지막으로 수정된 일, 날짜, 월, 연도 및 시간을 알려줍니다. 파일 수정 시간을 얻기 위해 path 모듈을 사용합니다.tails, 그런 다음 시간 클래스 c 시간 함수 이를 읽을 수 있는 시간으로 변환합니다. 따라서 코드를 실행하면 guru99.txt 파일이 마지막으로 수정된 것을 볼 수 있습니다. 8월 XNUMX일 월요일th 13년 35시 2018분.
  • 코드 라인#17 - 파일 수정에 대한 정보를 제공하는 것과 동일한 작업을 수행하지만 이를 표시하는 형식이 다릅니다. 여기서 우리는 수정 시간 가져오기 기능 (path.getmtime(“guru99.txt”)). 이제 c time 함수를 사용하는 대신에 우리는 타임 스탬프 기능에서 날짜 시간 객체를 구성하겠습니다. 출력에서 파일 수정 시간 세부 정보가 다른 형식으로 인쇄되는 것을 볼 수 있습니다. 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(t)
    print(datetime.datetime.fromtimestamp(path.getmtime("guru99.txt.bak")))

if __name__ == "__main__":
    main()

요약

  • 코드를 사용하여 기존 파일의 복사본을 만들려면 종료.복사(src,dst)
  • 원본 파일의 모든 정보를 다음과 같은 복제 파일로 복사하려면 파일 권한, 수정 시간 또는 메타데이터 정보 코드를 사용하여 shutdown.copystat(src,dst)