Học Python? Đây là cách sao chép tệp

Học Python? Đây là cách sao chép tệp

Bạn có muốn cải thiện kỹ năng Python của mình không? Sau đó, bạn có thể thử thực hiện một số tác vụ trên máy tính của mình bằng Python. Sao chép và dán các tệp từ thư mục này sang thư mục khác bằng Python là một cách thú vị để thực hiện việc này.





Ngoài việc thú vị, nó còn cho phép bạn đọc và ghi các tệp tin một cách nhanh chóng mà không bị phân tâm vào mã của bạn. Nếu bạn là người mới làm quen với Python, đó là một kỹ năng bạn có thể vẫn cần phải học theo cách này hay cách khác. Vì vậy, hãy cùng tìm hiểu cách sao chép tệp bằng Python qua bài viết này.





Yêu cầu để sao chép tệp bằng Python

Có nhiều cách để sao chép và dán tệp bằng Python. Vì vậy, yêu cầu để thực hiện nó khác nhau và tùy thuộc vào phương pháp bạn quyết định sử dụng.





Mặc dù bạn có thể không cần các mô-đun bổ sung để sao chép tệp bằng Python, nhưng bạn vẫn có thể sử dụng các thư viện tích hợp sẵn nếu muốn.

Ví dụ: nếu bạn muốn sử dụng bạn , bạn cần nhập nó vào mã của mình. Tuy nhiên, một trong những cách phổ biến để sao chép tệp bằng Python là sử dụng đóng cửa thư viện.



Hãy xem cách chúng ta có thể sử dụng các phương pháp khác nhau này để sao chép tệp bằng Python.

Cách sao chép tệp bằng thư viện Shutil tích hợp của Python

Các đóng cửa mô-đun là một thư viện Python tích hợp và mạnh mẽ để đọc và ghi tệp nhanh chóng bằng Python.





Để sử dụng nó, bạn chỉ cần cung cấp đường dẫn đầy đủ của tệp nguồn và tệp đích.

tìm xem nó là số của ai

Về bản chất, đóng cửa có định dạng này:





shutil.copy([source directory path], [destination directory path], follow_symlinks=True)

Ví dụ: mã bên dưới sử dụng shutil.copy () để sao chép một tệp có tên copy.txt từ một thư mục được gọi là thư mục của tôi thành một cái khác có tên điểm đến . Sau đó, nó đổi tên tệp đích thành newFile.txt :

import shutil
sourceFile = 'C:/Users/some_directories/my_folder/copy.txt'
destinationFile = 'C:/Users/some_directories/destination/newFile.txt'
shutil.copy(sourceFile, destinationFile, follow_symlinks=True)

Lưu ý rằng bạn có thể viết mã của mình trong bất kỳ trình soạn thảo mã nào bạn chọn. Sau đó, bạn có thể chạy nó bằng dòng lệnh.

Tuy nhiên, bạn cũng có thể sử dụng Môi trường phát triển tích hợp Python (IDLE) mặc định nếu bạn không quen với việc chạy Python qua dòng lệnh.

Có liên quan: Lệnh Command Prompt (CMD) bạn phải biết

Các shutil.copy phương thức không sao chép siêu dữ liệu của tệp nguồn. Về bản chất, máy của bạn coi tệp đích là một tệp mới hoàn toàn và cung cấp cho nó siêu dữ liệu mới.

Tuy nhiên, để sao chép siêu dữ liệu cùng với tệp gốc, hãy sử dụng shutil.copy2 phương pháp:

import shutil
shutil.copy2(sourceFile, destinationFile, follow_symlinks=True)

Phương pháp trên giữ nguyên siêu dữ liệu gốc của tệp cũ trong tệp đích. Ví dụ: tệp đích lưu lại ngày bạn tạo tệp nguồn, kích thước của nó và các thuộc tính khác.

Các follow_symlinks đối số là một khai báo liên kết tượng trưng cho phép đóng cửa theo một con đường tuyệt đối. Do đó, bạn cần phải bao gồm nó nếu tệp nguồn và tệp đích nằm trong các thư mục khác nhau.

Nhưng nếu cả hai tệp đều nằm trong thư mục làm việc hiện tại của bạn, bạn không cần phải bao gồm follow_symlinks . Nếu bạn làm vậy, Python sẽ tạo ra một ngoại lệ cú pháp.

làm thế nào để xem một số người trên instagram mà không cần tài khoản

Vì vậy, nếu bạn đang dán tệp nguồn vào thư mục làm việc hiện tại của mình, mã của bạn sẽ giống như sau:

import shutil
shutil.copy2(sourceFile, destinationFile)

Ngoài việc sử dụng các phương pháp đóng cửa ở trên, bạn cũng có thể sử dụng shutil.copyfile hoặc shutil.copyfileobj .

Sử dụng shutil.copyfileobj hơi khác một chút vì nó yêu cầu cài sẵn mở ra hàm số. Sau đó, bạn cần đọc và ghi mã nhị phân bằng cách bao gồm 'rb''wb' tranh luận.

Hãy xem làm thế nào shutil.copyfileobj phương thức hoạt động bằng cách sử dụng cùng các thư mục mà chúng tôi đã sử dụng trước đây:

import shutil
sourceFilePath = open('C:/Users/some_directories/my_folder/copy.txt', 'rb')
destinationFilePath = open('C:/Users/some_directories/destination/newFile.txt', 'wb')
shutil.copyfileobj(sourceFilePath, destinationFilePath)

Lưu ý rằng shutil.copyfileobj () không yêu cầu follow_symlinks tranh luận.

Tuy vậy, shutil.copyfile () hoạt động khá giống nhau .copy.copy2 làm. Chúng chỉ khác nhau không đáng kể về chức năng bên trong.

Để sử dụng shutil.copyfile () phương pháp:

import shutil
sourceFilePath = 'C:/Users/some_directories/my_folder/copy.txt'
destinationFilePath = 'C:/Users/some_directories/destination/newFile.txt'
shutil.copyfile(sourceFilePath, destinationFilePath)

Cách sao chép tệp bằng mô-đun hệ điều hành

Các bạn mô-đun sử dụng hai phương pháp tích hợp để sao chép tệp; os.system ()os.popen () các phương pháp.

Các os.system () phương pháp này cho phép bạn bắt chước môi trường dòng lệnh.

Tuy nhiên, một thiếu sót của các phương thức os là chúng chỉ sao chép các tệp trong thư mục làm việc hiện tại của bạn.

Để sử dụng os.system () phương pháp trên Windows:

import os
os.system('copy source.txt destination.txt)

Bạn cũng có thể sử dụng xcopy Lệnh đầu cuối của Windows:

import os
os.system('xcopy source.txt destination.txt)

Để sử dụng os.system phương pháp trên Linux, thay thế sao chép với cp :

import os
os.system('cp source.txt destination.txt)

Cách sao chép tệp bằng phương pháp os.popen

Để sử dụng phương pháp này, hãy thay thế os.system () với os.popen () .

Trên Windows, sử dụng:

import os
os.popen('copy source.txt destination.txt)

Như chúng tôi đã làm với os.system () , thay thế sao chép với cp để sử dụng phương pháp này trên Linux:

import os
os.popen('cp source.txt destination.txt)

Cách sao chép tệp bằng mô-đun quy trình con của Python

Ngoài các phương pháp trên, bạn cũng có thể sử dụng quy trình con () thư viện để sao chép tệp bằng Python:

import subprocess as sp
sp.call('copy sourceFile destinationFile', shell=True)

Tuy nhiên, trên Linux, hãy sử dụng:

import subprocess as sp
sp.call('cp sourceFile destinationFile', shell=True)

Các quy trình phụ thư viện cũng sử dụng subprocess.check_out () phương pháp. Nó hoạt động theo cùng một cách subprocess.call () làm:

import subprocess as sp
sp.check_out('copy sourceFile destinationFile', shell=True)

Trên Linux, thay thế sao chép với cp :

import subprocess as sp
sp.check_out('cp sourceFile destinationFIle', shell=True)

Tuy nhiên, giống như các phương thức os, các phương thức quy trình con chỉ hoạt động với các tệp trong thư mục làm việc hiện tại của bạn.

Ghi chú: Bạn cũng có thể sao chép tệp vào một thư mục nếu nó nằm trong cùng thư mục làm việc với tệp nguồn. Tất cả những gì bạn cần làm là thay thế tên tệp đích bằng tên của thư mục đích. Tuy nhiên, hãy đảm bảo rằng thư mục đích và tệp nguồn nằm trong thư mục làm việc hiện tại của bạn.

Cách sao chép tệp bằng Python mà không cần sử dụng thư viện

Bạn cũng có thể sao chép tệp bằng Python mà không phụ thuộc vào bất kỳ thư viện nào. Giống như phương thức shutil, bạn chỉ cần các đường dẫn đầy đủ của các thư mục nguồn và đích.

cách chuyển ứng dụng từ điện thoại sang thẻ sd

Đây là cách để đạt được điều này:

sourcePath = 'C:/Users/source_directories/my_folder/copy.txt'
destinationPath = 'C:/Users/some_directories/destination_directories/newFile.txt'
with open(sourcePath, 'rb') as read:
with open(destinationPath, 'wb') as myfile:
myfile.write(read.read())

Để làm cho mã có thể tái sử dụng, bạn có thể sửa đổi nó thành một hàm:

def copyFile(source=None, destination=None):
if not (source and destination)==None:
with open(source, 'rb') as read:
with open(destination, 'wb') as myfile:
myfile.write(read.read())
else:
print('Please enter the source and destination paths')
copyFile(sourcePath, destinationPath)

Đó là nó. Bạn vừa tạo một máy photocopy tệp có thể sử dụng lại bằng Python mà không cần sử dụng bất kỳ thư viện nào.

Tiếp tục tự động hóa công việc với Python

Ngoài việc giúp bạn tập trung vào mã của mình trong khi xây dựng dự án, việc sao chép tệp bằng Python cho phép bạn hiểu rõ hơn về quản lý tệp bằng Python. Tuy nhiên, chơi với các tác vụ Python là một cách để cải thiện kỹ năng Python của bạn, đặc biệt nếu bạn là người mới bắt đầu.

Ví dụ: bạn có thể thay đổi ngày và giờ trên PC của mình bằng mô-đun hệ điều hành. Bạn thậm chí có thể viết các lệnh bash tùy chỉnh bằng Python nếu bạn muốn.

Đăng lại Đăng lại tiếng riu ríu E-mail Cách tạo chương trình dòng lệnh của riêng bạn bằng Python với cú nhấp chuột

Bạn muốn tạo các chương trình dòng lệnh Python của riêng mình nhưng cảm thấy quá khó? Sử dụng Click, một công cụ Python hữu ích để hợp lý hóa mã của bạn.

Đọc tiếp
Chủ đề liên quan
  • Lập trình
  • Python
Giới thiệu về tác giả Idisou Omisola(Đã xuất bản 94 bài báo)

Idowu đam mê mọi thứ về công nghệ và năng suất thông minh. Trong thời gian rảnh rỗi, anh ấy chơi mã hóa và chuyển sang bàn cờ khi anh ấy buồn chán, nhưng anh ấy cũng thích thoát khỏi thói quen đôi khi. Niềm đam mê của anh ấy trong việc chỉ ra cho mọi người cách thức xung quanh công nghệ hiện đại đã thúc đẩy anh ấy viết nhiều hơn.

Xem thêm từ Idowu Omisola

Theo dõi bản tin của chúng tôi

Tham gia bản tin của chúng tôi để biết các mẹo công nghệ, đánh giá, sách điện tử miễn phí và các ưu đãi độc quyền!

Bấm vào đây để đăng ký