반응형
Python에서 파일 복사: shutil.copy(), shutil.copystat() 메서드
Python 파일 복사 방법
Python은 운영 체제 셸 유틸리티를 사용하여 파일을 쉽게 복사할 수 있는 내장 기능을 제공합니다. 다음 명령은 파일 복사에 사용됩니다.shutil.copy(src,dst)
다음 명령은 메타데이터 정보가 있는 파일을 복사하는 데 사용됩니다.
shutil.copystat(src,dst)
파이썬에서 파일을 복사하는 방법
다음은 shutil copy() 메서드를 사용하여 Python에서 파일을 복사하는 단계입니다. 1 단계) 현재 디렉토리의 원래 경로를 캡처합니다. 파일을 복사하기 전에 현재 디렉토리에 있는 원본 파일의 경로를 가져와야 합니다. 코드에서 –- 변수 선언
- 변수에 분할 기능 적용
- 먼저 "guru99.txt" 파일이 있는지 확인합니다. 이전에 guru99.txt 파일을 만들었기 때문에 그것이 존재한다는 것을 알고 있으며 코드를 계속 사용할 것입니다.
- 변수에 파일 경로를 저장합니다.src" 파일이 존재하는 경우
- 경로를 얻으면 경로와 파일 이름을 분리합니다.
- 이를 위해 우리는 split을 사용할 것입니다.
path.split
소스 변수에 대한 함수 - 코드가 실행되면 "파일 이름" 그리고 "파일 경로" 따로
- 원래 파일 이름 "guru99.txt"를 가져오고 "guru99.txt.bak" 끝에 문자 .bak를 추가합니다. 확장자가 .bak인 이 이름은 중복 복사본이 됩니다.
- 그런 다음 유틸리티의 복사 기능을 사용하여 소스에서 대상으로 복사합니다.
- 코드를 실행하면 패널 오른쪽에 확장자가 .bak인 중복 파일이 생성되는 것을 볼 수 있습니다.
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단계) 정보 가져오기 마지막으로 수정한 텍스트 파일에 대한 정보를 가져올 수 있습니다.- 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)
반응형
'Coding' 카테고리의 다른 글
파이썬 압축 파일 만드는 방법 (ZIP, TAR 등 압축 아카이브) (0) | 2022.03.30 |
---|---|
예제가 있는 Python Lambda 함수 (0) | 2022.03.29 |
Selenium WebDriver에서 CheckBox 및 라디오 버튼 선택 방법 (0) | 2022.03.27 |
1995년형 연착륙 예상 안 함: 주식 매도 (0) | 2022.03.26 |
부자가 되는 방법에 대해 알아보자 (0) | 2022.03.25 |
댓글