Hướng dẫn file copy code in python - mã sao chép tệp trong python

Trong hướng dẫn ngắn này, bạn sẽ thấy cách sao chép một tệp, từ thư mục này sang thư mục khác, sử dụng Python.

Để bắt đầu, đây là một mẫu mà bạn có thể sử dụng để sao chép một tệp trong Python bằng SOWLIL.CopyFile:

import shutil

original = r'original path where the file is currently stored\file name.file extension'
target = r'target path where the file will be copied\file name.file extension'

shutil.copyfile(original, target)

Bây giờ, hãy xem các bước để áp dụng mẫu trên trong thực tế.

Bước 1: Chụp đường dẫn ban đầu

Để bắt đầu, hãy chụp đường dẫn nơi tệp của bạn hiện đang được lưu trữ.

Ví dụ: hãy giả sử rằng một tệp CSV được lưu trữ trong một thư mục có tên là Test_1:Test_1:

C: \ Users \ Ron \ Desktop \ test_1 \ Products.csv

Trong đó tên tệp CSV là ‘Sản phẩm‘ và phần mở rộng tệp là CSV.products‘ and the file extension is csv.

Bước 2: Chụp đường đích

Tiếp theo, chụp đường dẫn đích nơi bạn muốn sao chép tệp.

Ví dụ của chúng tôi, tệp sẽ được sao chép vào một thư mục có tên Test_2:Test_2:

C: \ Users \ Ron \ Desktop \ test_2 \ Products.csv

Bước 3: Sao chép tệp trong Python bằng cách sử dụng SOWL.CopyFile

Đối với bước cuối cùng, hãy sử dụng mẫu sau để sao chép tệp của bạn:

import shutil

original = r'original path where the file is currently stored\file name.file extension'
target = r'target path where the file will be copied\file name.file extension'

shutil.copyfile(original, target)

Đảm bảo đặt ký tự ‘R‘ trước các đường dẫn của bạn để tránh lỗi sau:r‘ character before your paths to avoid the following error:

Cú pháp

Trong bối cảnh ví dụ của chúng tôi, mã hoàn chỉnh sẽ trông như thế này:

import shutil

original = r'C:\Users\Ron\Desktop\Test_1\products.csv'
target = r'C:\Users\Ron\Desktop\Test_2\products.csv'

shutil.copyfile(original, target)

Nếu bạn chạy mã trong Python (được điều chỉnh theo đường dẫn của bạn), bạn sẽ thấy rằng tệp CSV của sản phẩm sẽ được sao chép vào thư mục Test_2.products‘ CSV file would be copied into the Test_2 folder.

Ngoài ra, bạn có thể sao chép một tệp có tên mới.

Chẳng hạn, hãy để sao chép tệp CSV gốc (với tên tệp của ‘Sản phẩm) vào vị trí mới với tên tệp mới (‘ New_Products ‘):products‘) to the new location with a new file name (‘new_products‘):

import shutil

original = r'C:\Users\Ron\Desktop\Test_1\products.csv'
target = r'C:\Users\Ron\Desktop\Test_2\new_products.csv'

shutil.copyfile(original, target)

Tên tệp mới (được gọi là ‘new_products) sau đó sẽ được sao chép ở vị trí đích (thư mục test_2).new_products‘) would then be copied in the target location (the Test_2 folder).

Các nguyên tắc tương tự sẽ áp dụng cho các loại tệp khác. Chẳng hạn, hãy để giả sử rằng một tệp JPG có tên ‘Hình ảnh‘ được lưu trữ trong thư mục Test_1.image‘ is stored in the Test_1 folder.

Mã sau đây có thể được sử dụng để sao chép hình ảnh vào thư mục Test_2:Test_2 folder:

import shutil

original = r'C:\Users\Ron\Desktop\Test_1\image.jpg'
target = r'C:\Users\Ron\Desktop\Test_2\image.jpg'

shutil.copyfile(original, target)

Tệp JPG bây giờ sẽ xuất hiện trong thư mục Test_2.Test_2 folder.

Đầu tiên, tôi đã thực hiện một bảng cheat đầy đủ các phương thức Shutil để bạn tham khảo.

shutil_methods =
{'copy':['shutil.copyfileobj',
          'shutil.copyfile',
          'shutil.copymode',
          'shutil.copystat',
          'shutil.copy',
          'shutil.copy2',
          'shutil.copytree',],
 'move':['shutil.rmtree',
         'shutil.move',],
 'exception': ['exception shutil.SameFileError',
                 'exception shutil.Error'],
 'others':['shutil.disk_usage',
             'shutil.chown',
             'shutil.which',
             'shutil.ignore_patterns',]
}

Thứ hai, giải thích các phương thức sao chép trong exmaples:

  1. import shutil
    
    original = r'original path where the file is currently stored\file name.file extension'
    target = r'target path where the file will be copied\file name.file extension'
    
    shutil.copyfile(original, target)
    0 Thao tác các đối tượng đã mở
In [3]: src = '~/Documents/Head+First+SQL.pdf'
In [4]: dst = '~/desktop'
In [5]: shutil.copyfileobj(src, dst)
AttributeError: 'str' object has no attribute 'read'
#copy the file object
In [7]: with open(src, 'rb') as f1,open(os.path.join(dst,'test.pdf'), 'wb') as f2:
    ...:      shutil.copyfileobj(f1, f2)
In [8]: os.stat(os.path.join(dst,'test.pdf'))
Out[8]: os.stat_result(st_mode=33188, st_ino=8598319475, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=13507926, st_atime=1516067347, st_mtime=1516067335, st_ctime=1516067345)
  1. import shutil
    
    original = r'original path where the file is currently stored\file name.file extension'
    target = r'target path where the file will be copied\file name.file extension'
    
    shutil.copyfile(original, target)
    1 bản sao và đổi tên
In [9]: shutil.copyfile(src, dst)
IsADirectoryError: [Errno 21] Is a directory: ~/desktop'
#so dst should be a filename instead of a directory name
  1. import shutil
    
    original = r'original path where the file is currently stored\file name.file extension'
    target = r'target path where the file will be copied\file name.file extension'
    
    shutil.copyfile(original, target)
    2 Sao chép mà không cần tính toán siêu dữ liệu
In [10]: shutil.copy(src, dst)
Out[10]: ~/desktop/Head+First+SQL.pdf'
#check their metadata
In [25]: os.stat(src)
Out[25]: os.stat_result(st_mode=33188, st_ino=597749, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=13507926, st_atime=1516066425, st_mtime=1493698739, st_ctime=1514871215)
In [26]: os.stat(os.path.join(dst, 'Head+First+SQL.pdf'))
Out[26]: os.stat_result(st_mode=33188, st_ino=8598313736, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=13507926, st_atime=1516066427, st_mtime=1516066425, st_ctime=1516066425)
# st_atime,st_mtime,st_ctime changed
  1. import shutil
    
    original = r'original path where the file is currently stored\file name.file extension'
    target = r'target path where the file will be copied\file name.file extension'
    
    shutil.copyfile(original, target)
    3 Bản sao với siêu dữ liệu
In [30]: shutil.copy2(src, dst)
Out[30]: ~/desktop/Head+First+SQL.pdf'
In [31]: os.stat(src)
Out[31]: os.stat_result(st_mode=33188, st_ino=597749, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=13507926, st_atime=1516067055, st_mtime=1493698739, st_ctime=1514871215)
In [32]: os.stat(os.path.join(dst, 'Head+First+SQL.pdf'))
Out[32]: os.stat_result(st_mode=33188, st_ino=8598313736, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=13507926, st_atime=1516067063, st_mtime=1493698739, st_ctime=1516067055)
# Preseved st_mtime
  1. import shutil
    
    original = r'original path where the file is currently stored\file name.file extension'
    target = r'target path where the file will be copied\file name.file extension'
    
    shutil.copyfile(original, target)
    4

Sao chép đệ quy toàn bộ cây thư mục bắt nguồn từ SRC, trả lại thư mục đích

Làm thế nào để bạn viết và sao chép một tệp trong Python?

Python - Sao chép tệp Tạo một đối tượng khác và sử dụng Open () để tạo tệp mới (ghi đường dẫn trong hàm Open () tạo tệp nếu nó không tồn tại).Đọc () Nội dung từ tệp đầu tiên.viết () giống nhau trong tệp khác.Mở tệp trùng lặp.Create another object and use open() to create a new file(writing the path in open() function creates the file if it doesn't exist). read() content from first file. write() the same in the other file. Open the file duplicate.

Làm thế nào để bạn sao chép tất cả các tệp trong Python?

copytree () The Shutil.Phương thức copytree () sao chép đệ quy toàn bộ cây thư mục bắt nguồn từ nguồn (SRC) vào thư mục đích.Nó được sử dụng để sao chép đệ quy một tệp từ vị trí này sang vị trí khác. The shutil. copytree() method recursively copies an entire directory tree rooted at source (src) to the destination directory. It is used to recursively copy a file from one location to another.

Tệp () trong Python là gì?

Một tệp là một mục dữ liệu cần thiết được lưu trữ trong máy tính của một người.Mỗi tệp có thể được đặc trưng với phần mở rộng tệp & tệp của nó.Ngôn ngữ lập trình Python có khả năng làm điều kỳ diệu và theo thời gian, chúng tôi thấy rất nhiều ứng dụng của nó trong các lĩnh vực khác nhau.an essential data item stored in one's computer. Each file can be characterized with its filename & file extension. Python programming language is capable of doing wonders and with time we see a lot of its applications in various domains.