Hướng dẫn cách xử lý file trong Python. Bạn sẽ học được cách đổi tên thư mục trong python bằng hàm rename() trong module os, cũng như bằng phương thức Path.rename() trong module pathlib và ứng dụng chúng để đổi tên thư mục hàng loạt trong python sau bài học này.
Đổi tên thư mục trong python | hàm rename()
Để đổi tên thư mục trong python, chúng ta sử dụng hàm rename() trong module os với cú pháp sau đây:
os.rename(src, dst, *
, src_dir_fd=None, dst_dir_fd=None)
Thông thường chúng ta bỏ đi phần lớn các đối số trong hàm hoặc chỉ dùng cú pháp rút gọn sau đây:
os.rename(src, dst)
Trong đó:
src
là đường dẫn của thư mục cần đổi tên.dst
là đường dẫn của thư mục sau khi đổi tên. Đường dẫn này có thể cùng hoặc khác thư mục mẹ so với đường dẫn trước khi đổi tên.
Ví dụ, chúng ta đổi tên thư mục trong python như sau:
import os |
Khi đó thư mục user
(nếu tồn tại trước đó) sẽ chuyển thành thư mục user_infor
trong cùng thư mục data
.
Khi đổi tên thư mục trong python, đường dẫn của thư mục mẹ sau khi đổi tên có thể khác thư mục mẹ so với đường dẫn trước khi đổi tên.
import os |
Khi đó, hàm rename() sẽ có thêm tác dụng di chuyển thư mục chỉ định sang một thư mục mẹ khác với một tên khác.
Lưu ý, nếu như thư mục cần đổi tên không tồn tại, hoặc là đường dẫn chứa thư mục sau khi đổi tên không tồn tại, lỗi FileNotFoundError sẽ bị trả về:
FileNotFoundError: [WinError 2] The system cannot find the folder specified: '/client/user_infor' |
Đổi tên thư mục trong python | phương thức Path.rename()
Chúng ta cũng có thể sử dụng phương thức Path.rename() tích hợp trong module pathlib để đổi tên thư mục trong python, với cú pháp sau đây:
path.rename(target)
Trong đó path
và target
là các path object instance được tạo ra từ class pathlib.Path(), chứa thông tin về đường dẫn trước và sau khi đổi tên của thư mục.
Cách sử dụng phương thức này để đổi tên thư mục cũng khá đơn giản. Trước tiên chúng ta tạo ra một instance mang thông tin đường dẫn của thư mục cần đổi tên, sau đó xử dụng phương thức rename() với instance này để đổi tên thư mục trong python, với đối số là một instance khác chứa đường dẫn của thư mục sau khi đổi tên.
import pathlib |
Cũng giống với hàm rename() trong module os, chúng ta có thể chỉ định đường dẫn của thư mục sau khi đổi tên có thể khác thư mục so với đường dẫn trước khi đổi tên. Khi đó thư mục được chỉ định sẽ được di chuyển sang một thư mục mới với một tên khác.
import pathlib |
Đổi tên thư mục hàng loạt trong python
Sau đây Kiyoshi sẽ hướng dẫn bạn cách đổi tên hàng loạt các thư mục con đã có sẵn trong một thư mục mẹ một cách nhất quán, bằng cách ứng dụng hàm rename() mà bạn vừa học ở trên.
Ví dụ: Bạn có một thư mục chứa các thư mục con và muốn đổi tên chúng theo cách nhất quán bằng cách thêm chuỗi image_
vào trước tên thư mục con:
./camera/210501 -> ./camera/image_210501 ./camera/210502 -> ./camera/image_210502 ./camera/210503 -> ./camera/image_210503
Để đổi tên hàng loạt các thư mục trong một thư mục một cách nhất quán, hãy dùng tới hàm tự tạo sau đây:
import os |
Sau đó, bạn có thể sử dụng hàm này như sau:
folder_dir ="./camera" |
Hàm trên sẽ giúp thêm chuỗi ký tự image_
vào trước tất cả tên các thư mục có trong thư mục camera
.
Bạn có thể thay thế chuỗi ký tự thêm vào thư mục bằng cách thay đổi giá trị của biến change_str
.
change_str="tokyo_" |
Tổng kết hoặc thực hành
Trên đây Kiyoshi đã hướng dẫn bạn về cách đổi tên thư mục trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
hoặc hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.
URL Link
HOME › python cơ bản - lập trình python cho người mới bắt đầu>>16. xử lý file trong python