Tại sao Shutil được sử dụng trong Python?

Python cung cấp các hàm dựng sẵn để dễ dàng sao chép tệp bằng các tiện ích Hệ điều hành Shell

Lệnh sau được sử dụng để sao chép tệp

shutil.copy[src,dst]

Lệnh sau được sử dụng để sao chép tệp có thông tin siêu dữ liệu

shutil.copystat[src,dst]

Cách sao chép tệp trong Python

Dưới đây là các bước để sao chép tệp trong Python bằng phương thức Shutil copy[]

Bước 1] Lấy đường dẫn gốc trong thư mục hiện tại
Trước khi sao chép một tệp, chúng ta cần lấy đường dẫn đến tệp gốc trong thư mục hiện tại. Trong mã –

  1. khai báo biến
  2. Áp dụng chức năng tách trên biến

Giải thích mã

  • Trước tiên, chúng tôi sẽ kiểm tra xem “guru99” của chúng tôi có. txt” có tồn tại hay không. Vì chúng tôi đã tạo ra guru99. txt trước đó, chúng tôi biết nó tồn tại và chúng tôi sẽ tiếp tục với mã
  • Chúng tôi lưu trữ đường dẫn tệp trong biến “src” nếu tệp của bạn tồn tại
  • Khi chúng tôi nhận được đường dẫn, chúng tôi sẽ tách đường dẫn và tên tệp
  • Để làm được điều đó, chúng ta sẽ sử dụng hàm tách path.split trên biến nguồn
  • Mã khi được thực thi sẽ in ra “tên tệp” và “đường dẫn tệp” riêng biệt

Bước 2] Tạo bản sao của tệp hiện có bằng mô-đun Shutil
Chúng tôi sử dụng Mô-đun Shutil để tạo bản sao của tệp hiện có. Ở đây, chúng tôi đã sử dụng để tạo một bản sao của tệp hiện có “guru99. txt. ”

Giải thích mã

  • Lấy tên tệp gốc là “guru99. txt” và thêm các chữ cái. bak ở cuối “guru99. txt. nướng”. Tên này với. tiện ích mở rộng bak sẽ là bản sao trùng lặp của chúng tôi
  • Và sau đó chúng ta sẽ sử dụng chức năng sao chép của tiện ích để sao chép từ nguồn đến đích
  • Khi bạn chạy mã, bạn sẽ thấy một tệp trùng lặp với. tiện ích mở rộng bak được tạo ở phía bên phải của bảng điều khiển

Bước 3] Sao chép siêu dữ liệu được liên kết với tệp, quyền truy cập tệp và thông tin khác
Chức năng sao chép chỉ sao chép nội dung của tệp mà không có thông tin nào khác. Để sao chép siêu dữ liệu được liên kết với tệp, quyền của tệp và thông tin khác, bạn phải sử dụng chức năng “copystat”. Trước khi chạy mã này, chúng tôi phải xóa tệp sao chép “guru99. chữ. nướng”.

Khi bạn đã xóa tệp và chạy chương trình, nó sẽ tạo một bản sao của bạn. txt nhưng lần này với tất cả thông tin như quyền của tệp, thời gian sửa đổi và thông tin siêu dữ liệu. Bạn có thể đi đến O của bạn. S shell để xác minh thông tin

Đây là mã

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[]

Bước 4] Tìm nạp thông tin
Bạn có thể tìm nạp thông tin về tệp văn bản được sửa đổi lần cuối

  • Dòng mã số 15- Nó cho biết thứ, ngày, tháng, năm và thời gian khi. txt [guru99] được sửa đổi lần cuối. Chúng tôi sử dụng mô-đun đường dẫn để lấy chi tiết thời gian sửa đổi tệp và sau đó chúng tôi sẽ sử dụng chức năng c time của các lớp thời gian để chuyển đổi thời gian đó thành thời gian có thể đọc được. Vì vậy, khi chúng tôi chạy mã, chúng tôi có thể thấy tệp guru99. txt được sửa đổi lần cuối vào Thứ Hai, ngày 8 tháng 1 lúc 13. 35 2018

  • Dòng mã #17- Việc cung cấp thông tin về sửa đổi tệp cũng giống như vậy, nhưng nó có định dạng khác để thể hiện thông tin đó. Ở đây chúng ta sử dụng chức năng Get Modification Time [đường dẫn. getmtime[“guru99. txt”]]. Bây giờ thay vì sử dụng hàm c time, chúng ta sẽ sử dụng hàm From Time Stamp và sẽ xây dựng một đối tượng ngày giờ. Ở đầu ra, bạn có thể thấy chi tiết thời gian sửa đổi tệp được in ra ở định dạng khác 2018-01-08, 13. 35. 51. 334072

    Tập tin. đóng cửa-ví dụ-2. py import Shutil Import os SOURCE = "samples" BACKUP = "samples-bak" # tạo thư mục sao lưu Shutil. copytree[SOURCE, BACKUP] print os. listdir[BACKUP] # xóa nó khỏi máy. hệ điều hành in rmtree[BACKUP]. listdir[DẠY DỰ PHÒNG] ['sample.wav', 'sample.jpg', 'sample.au', 'sample.msg', 'sample.tgz', ... Traceback [most recent call last]: File "shutil-example-2.py", line 17, in ? print os.listdir[BACKUP] os.error: No such file or directory

    Mô-đun Python Shutil là gì?

    Mô-đun Shutil trong Python cung cấp nhiều chức năng của thao tác cấp cao trên tệp và bộ sưu tập tệp . Nó có trong các mô-đun tiện ích tiêu chuẩn của Python. Mô-đun này giúp tự động hóa quá trình sao chép và xóa tệp và thư mục.

    Shutil có nghĩa là gì?

    Có nghĩa là " tiện ích shell ", sh là viết tắt của shell, util là viết tắt của tiện ích. Nếu bạn nghĩ về những gì Shutil làm, điều đó có ý nghĩa [thao túng hệ thống tệp, tạo tệp lưu trữ, v.v. ].

    Shutil có được mặc định trong Python không?

    Với Python 3. 6 Shutil được bao gồm theo mặc định , không cần cài đặt nó · Vấn đề #1 · NyashniyVladya/PoemModule · GitHub.

    Shutil có phải là thư viện tiêu chuẩn không?

    Mô-đun Shutil - Thư viện chuẩn Python [Sách]

Chủ Đề