Computer >> Máy Tính >  >> Lập trình >> Python

Python Move File:Hướng dẫn Hoàn chỉnh

Phương thức shutil.move () trong Python di chuyển tệp đến một vị trí khác trên máy tính của bạn. Phương thức này là một phần của mô hình Shutil mà bạn phải nhập trước khi sử dụng phương pháp này.

Di chuyển tệp là một hoạt động phổ biến trong các chương trình Python. Ví dụ:giả sử bạn đang tạo một chương trình tạo tệp. Bạn có thể muốn di chuyển tất cả các tệp hiện có từ một thư mục sang một nơi khác, để nhường chỗ cho các tệp mới mà bạn muốn tạo.

Đó là nơi mà shutil.move () có trong hàm. shutil.move () chức năng cho phép bạn di chuyển một tệp từ thư mục này sang thư mục khác trên hệ thống của bạn. Hướng dẫn này sẽ thảo luận, có tham chiếu đến các ví dụ, cách bạn có thể sử dụng shutil.move () chức năng di chuyển mã của bạn.

Ngắt Python

Mô-đun Shutil cung cấp một loạt các hoạt động cấp cao mà bạn có thể thực thi trên các tệp. Không giống như thư viện hệ điều hành, shutil đi kèm với các hàm có thể được thực thi trên các bộ sưu tập tệp.

Đối với hướng dẫn này, chúng tôi sẽ tập trung vào shutil.move () , cho phép chúng tôi di chuyển tệp bằng Python.

Trước khi chúng tôi khám phá move () , trước tiên chúng ta phải nhập thư viện shutil vào mã của chúng ta. Chúng tôi có thể làm như vậy bằng cách sử dụng câu lệnh nhập Python này:

import shutil

Di chuyển tệp trong Python

shutil.move () chức năng di chuyển một tệp trên máy tính của bạn. Phương thức này chấp nhận đường dẫn tệp của tệp bạn muốn di chuyển và đường dẫn tệp mới làm đối số.

Cú pháp của hàm này như sau:

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

shutil.move(source, destination)

shutil.move () chấp nhận hai tham số, đó là:

  • đường dẫn nguồn :Đường dẫn tệp của tệp bạn muốn di chuyển.
  • đường dẫn đến :Đường dẫn tệp nơi bạn muốn di chuyển tệp của mình.

move () hàm trả về đường dẫn của tệp bạn đã di chuyển.

Nếu đích của bạn khớp với tệp khác, tệp hiện có sẽ bị ghi đè.

Đường dẫn tệp bạn chỉ định có thể là tuyệt đối hoặc tương đối.

Đường dẫn tệp tuyệt đối là đường dẫn hoàn chỉnh dẫn trực tiếp đến tệp (tức là /home/career_karma/file.txt ). Đường dẫn tệp tương đối đề cập đến một vị trí có liên quan đến thư mục mà chương trình Python của bạn đang được chạy (tức là tệp.txt ).

Nếu bạn chỉ định một thư mục đích không tồn tại, một thư mục mới sẽ được tạo.

Thư viện hệ điều hành chứa os.rename () phương pháp thường được sử dụng để đổi tên tệp. Phương pháp này cũng có thể di chuyển tệp. Tuy nhiên, phương thức Shutil được thiết kế đặc biệt để di chuyển các tệp. Cú pháp shutil.move () dễ hiểu hơn os.rename () nếu bạn đang di chuyển một tệp.

Ví dụ về di chuyển tệp trong Python

Hãy cùng khám phá một vài ví dụ về cách sử dụng hàm shutil.move ().

Di chuyển một tệp đơn

Giả sử chúng ta có một tệp có tên là raw_data.csv mà chúng tôi muốn chuyển vào một thư mục có tên là dữ liệu trong thư mục làm việc hiện tại của chúng tôi. Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:

import shutil

source = "raw_data.csv"
destination = "data"

new_path = shutil.move(source, destination)

print(new_path)

Mã của chúng tôi trả về:

data/raw_data.csv

Đầu tiên, chúng tôi đã nhập thư viện Shutil. Tiếp theo, chúng tôi đã khai báo hai biến Python. Nguồn biến lưu trữ tên của tệp chúng ta muốn di chuyển. điểm đến của chúng tôi biến lưu trữ tên của thư mục mà chúng tôi muốn di chuyển tệp của mình.

Trong ví dụ này, chúng tôi đã chỉ định đường dẫn tệp tương đối cho nguồn và đích của chúng tôi. Điều này có nghĩa là tệp raw_data.csv và thư mục dữ liệu tham chiếu đến những người trong cùng một thư mục với tệp Python của chúng tôi. Nếu tệp Python của chúng tôi được lưu trữ trong / home / Career_karma / program , tệp và thư mục mà chúng tôi tham chiếu sẽ là những tệp được lưu trữ trong thư mục đó.

Tiếp theo, chúng tôi sử dụng shutil.move () để di chuyển tệp của chúng tôi. Chúng tôi gán kết quả của thao tác - đường dẫn của tệp đã di chuyển - cho biến new_path . Tiếp theo, chúng tôi in ra giá trị của new_path , trả về đường dẫn của tệp mới của chúng tôi.

Chúng tôi đã di chuyển thành công một tệp bằng Python.

Lưu ý: Cú pháp tương tự mà chúng tôi đã sử dụng để di chuyển tệp cũng có thể được sử dụng để di chuyển một thư mục.

Di chuyển tệp và thay đổi tên của tệp đó

shutil.move () chức năng cho phép bạn thay đổi tên của một tệp sau khi nó đã được di chuyển.

Giả sử chúng ta muốn di chuyển raw_data.csv vào một thư mục có tên là dữ liệu và thay đổi tên tệp của chúng tôi thành raw_data_2019.csv . Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:

import shutil

source = "raw_data.csv"
destination = "data/raw_data_2019.csv"

new_path = shutil.move(source, destination)

print(new_path)

Mã của chúng tôi trả về:

data/raw_data_2019.csv

Khi chúng tôi chỉ định đích cho tệp mới của mình, chúng tôi cũng chỉ định tên mới cho tệp của mình. Chúng tôi chỉ định đích đến là data / raw_data_2019.csv. Điều này có nghĩa là khi tệp của chúng tôi được di chuyển, tệp sẽ được chuyển vào dữ liệu danh mục. Tệp mới sẽ có tên là raw_datra_2019.csv .

Di chuyển nhiều tệp

Chúng tôi cũng có thể sử dụng shutil.move () chức năng di chuyển nhiều tệp. Để làm như vậy, chúng tôi cũng sẽ tham khảo thư viện os. Chúng tôi có thể sử dụng os.listdir () để lấy danh sách các tệp trong một thư mục.

Giả sử chúng ta muốn di chuyển tất cả các tệp trong / home / Career_karma / data thư mục tới một thư mục mới có tên là / home / Career_karma / old_data . Dữ liệu thư mục chứa các tệp sau:

  • /home/career_karma/data/data.csv
  • /home/career_karma/data/old_data.csv

Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:

import shutil
import os

source = "/home/career_karma/data"
destination = "/home/career_karma/old_data"

files = os.listdir(source)

for file in files:
	new_path = shutil.move(f"{source}/{file}", destination)
	print(new_path)

Mã của chúng tôi trả về:

/home/career_karma/old_data/data.csv
/home/career_karma/old_data/old_data.csv

Hãy chia nhỏ mã của chúng ta. Đầu tiên, chúng tôi nhập các thư viện shutil và os vào chương trình của chúng tôi. Sau đó, chúng tôi chỉ định các đường dẫn tuyệt đối cho thư mục có nội dung mà chúng tôi muốn di chuyển. Chúng tôi cũng chỉ định đường dẫn đến đích mà nội dung trong thư mục của chúng tôi sẽ được di chuyển.

Tiếp theo, chúng tôi sử dụng os.listdir () để truy xuất danh sách tất cả các tệp trong thư mục có nội dung mà chúng tôi muốn di chuyển. Chúng tôi sử dụng Python for để lặp lại từng tệp này. Sau đó, chúng tôi sử dụng shutil.move () để di chuyển từng tệp riêng lẻ đến đích của chúng tôi thư mục.

Trong di chuyển () của chúng tôi , chúng tôi sử dụng một chuỗi f để chỉ định đường dẫn tệp đầy đủ cho tệp mà chúng tôi muốn di chuyển. Mã của chúng tôi hiển thị đường dẫn tệp của các tệp mới được di chuyển của chúng tôi.

Kết luận

shutil.move () chức năng di chuyển tệp từ vị trí này sang vị trí khác trên máy tính của bạn. Bạn phải chỉ định đường dẫn của tệp bạn muốn di chuyển cũng như đường dẫn mới cho tệp.

Bạn có muốn tìm hiểu thêm về cách viết mã bằng Python không? Hãy xem hướng dẫn Cách học Python của chúng tôi. Bạn sẽ tìm thấy lời khuyên của chuyên gia về cách học Python trong hướng dẫn này. Hướng dẫn của chúng tôi cũng chứa danh sách các tài nguyên học tập hàng đầu để giúp bạn mở rộng kiến ​​thức của mình.