Tôi muốn tự động hóa việc đổi tên nhiều thư mục trong một thư mục bằng Python. Đây là mã tôi sử dụng:
import os
path = r"C:/Users/Dimas hermanto/Documents/Data science gadungan/Belajar python/Computer vision and
Deep learning/Flask tutorial 2/stanford-dogs-dataset/test"
directory_list = os.listdir[path]
for filename in directory_list:
src = filename
dst = filename[filename.find['-'] + 1:]
# print[dst]
os.rename[src, dst]
print["File renamed!"]
Đây là định dạng tên của các thư mục tôi muốn đổi tên:
Những gì tôi đang cố gắng làm là cắt chuỗi tên tệp để nó sẽ chỉ xuất hiện như
Chihuahua
Japanese_spaniel,
Maltese_dog,
Pekinese,
Shih_tzu,
etc.
Nhưng khi tôi chạy mã, nó trả về:
Exception has occurred: FileNotFoundError
[WinError 2] The system cannot find the file specified: 'n02085620-Chihuahua' -> 'Chihuahua'
Tôi nên làm gì để sửa chữa cái này? Khi tôi cố gắng in biến dst
, nó sẽ trả về danh sách các tên mục tiêu mong muốn. Vì vậy, tôi cho rằng tôi đã đặt đúng đường dẫn thư mục
Cải thiện bài viết
Lưu bài viết
Cải thiện bài viết
Lưu bài viết
Đọc OS module in Python
In Python3, rename[] method is used to rename a file
or directory. This method is a part of the os module and comes in extremely handy.
Bàn luận
Điều kiện tiên quyết: Mô -đun HĐH trong pythonin python3, đổi tên [] phương thức được sử dụng để đổi tên tệp hoặc thư mục. Phương pháp này là một phần của mô -đun HĐH và có cực kỳ tiện dụng. & Nbsp; & nbsp; src is source address of file to be renamed and dst is destination with the new name.
Cú pháp cho Os.rename []:
OS.RENAME [SRC, DST]: SRC là địa chỉ nguồn của tệp để được đổi tên và DST là điểm đến với tên mới.
Bây giờ nói cho n hình ảnh trong một thư mục có tên ngẫu nhiên. Ví dụ, hãy xem xét hình ảnh dưới đây:listdir method lists out all the content of a given directory.
Bây giờ yêu cầu là đổi tên chúng theo thứ tự thời trang như Hostel1, Hostel2, Mạnh, v.v. Thực hiện điều này theo cách thủ công sẽ là một nhiệm vụ tẻ nhạt nhưng mục tiêu này có thể đạt được bằng cách sử dụng các phương thức đổi tên [] và listDIR [] trong mô -đun HĐH. & NBSP;
Phương thức listDIR liệt kê tất cả nội dung của một thư mục nhất định. where src is the source folder to be listed out.
Cú pháp cho ListDir []: & nbsp;
Định dạng được chấp nhận cho các địa chỉ đích [DST] và nguồn [SRC] được đưa ra dưới dạng đối số trong OS.RENAME [SRC, DST] là thư mục_name/file_name.os.rename[src,dst] is “folder_name/file_name”.
Below
is the implementation :
Python3
import
os
Chihuahua
Japanese_spaniel,
Maltese_dog,
Pekinese,
Shih_tzu,
etc.
0 Chihuahua
Japanese_spaniel,
Maltese_dog,
Pekinese,
Shih_tzu,
etc.
1Chihuahua
Japanese_spaniel,
Maltese_dog,
Pekinese,
Shih_tzu,
etc.
2Chihuahua
Japanese_spaniel,
Maltese_dog,
Pekinese,
Shih_tzu,
etc.
3Chihuahua
Japanese_spaniel,
Maltese_dog,
Pekinese,
Shih_tzu,
etc.
4 Chihuahua
Japanese_spaniel,
Maltese_dog,
Pekinese,
Shih_tzu,
etc.
5Chihuahua
Japanese_spaniel,
Maltese_dog,
Pekinese,
Shih_tzu,
etc.
2Chihuahua
Japanese_spaniel,
Maltese_dog,
Pekinese,
Shih_tzu,
etc.
7 Chihuahua
Japanese_spaniel,
Maltese_dog,
Pekinese,
Shih_tzu,
etc.
8Chihuahua
Japanese_spaniel,
Maltese_dog,
Pekinese,
Shih_tzu,
etc.
9 Exception has occurred: FileNotFoundError
[WinError 2] The system cannot find the file specified: 'n02085620-Chihuahua' -> 'Chihuahua'
0Exception has occurred: FileNotFoundError
[WinError 2] The system cannot find the file specified: 'n02085620-Chihuahua' -> 'Chihuahua'
1Exception has occurred: FileNotFoundError
[WinError 2] The system cannot find the file specified: 'n02085620-Chihuahua' -> 'Chihuahua'
2Exception has occurred: FileNotFoundError
[WinError 2] The system cannot find the file specified: 'n02085620-Chihuahua' -> 'Chihuahua'
3Chihuahua
Japanese_spaniel,
Maltese_dog,
Pekinese,
Shih_tzu,
etc.
4 Exception has occurred: FileNotFoundError
[WinError 2] The system cannot find the file specified: 'n02085620-Chihuahua' -> 'Chihuahua'
5Exception has occurred: FileNotFoundError
[WinError 2] The system cannot find the file specified: 'n02085620-Chihuahua' -> 'Chihuahua'
6________ 22 ________ 28 ________ 14 ________ 25 ________ 31 & nbsp;
Exception has occurred: FileNotFoundError
[WinError 2] The system cannot find the file specified: 'n02085620-Chihuahua' -> 'Chihuahua'
2Exception has occurred: FileNotFoundError
[WinError 2] The system cannot find the file specified: 'n02085620-Chihuahua' -> 'Chihuahua'
3Chihuahua
Japanese_spaniel,
Maltese_dog,
Pekinese,
Shih_tzu,
etc.
4Exception has occurred: FileNotFoundError
[WinError 2] The system cannot find the file specified: 'n02085620-Chihuahua' -> 'Chihuahua'
5pip install os6
Exception has occurred: FileNotFoundError
[WinError 2] The system cannot find the file specified: 'n02085620-Chihuahua' -> 'Chihuahua'
2pip install os8
pip install os9
import os0
Chihuahua
Japanese_spaniel,
Maltese_dog,
Pekinese,
Shih_tzu,
etc.
4Chihuahua
Japanese_spaniel,
Maltese_dog,
Pekinese,
Shih_tzu,
etc.
4 import os3
import os4
Chihuahua
Japanese_spaniel,
Maltese_dog,
Pekinese,
Shih_tzu,
etc.
2import os6
Đầu ra: Đầu ra của mã này sẽ trông giống như thế này - & nbsp; & nbsp;
The output of this code will look something like this –
Lưu ý: Mã này có thể không chạy trong IDE trực tuyến, vì nó sử dụng thư mục tệp hình ảnh bên ngoài. & NBSP; This code may not run in online IDE, since it use external image file directory.
Để đổi tên các tệp theo Python, hãy sử dụng phương thức đổi tên [] của mô -đun HĐH. Các tham số của phương thức đổi tên [] là địa chỉ nguồn [tên cũ] và địa chỉ đích [tên mới].
Cài đặt và nhập mô -đun HĐH
Để cài đặt mô -đun HĐH -
pip install os
Để nhập -
import os
Đổi tên nhiều tệp bằng phương thức Rename []
Phương thức Đổi tên [] có thể dễ dàng được sử dụng để đổi tên nhiều tệp -
Thí dụ
import os def main[]: i = 0 path="E:/amit/" for filename in os.listdir[path]: my_dest ="new" + str[i] + ".jpg" my_source =path + filename my_dest =path + my_dest os.rename[my_source, my_dest] i += 1 if __name__ == '__main__': main[]
Trên đây sẽ đổi tên tất cả các tệp trong thư mục AMIT.
Đổi tên nhiều tệp cụ thể
Trong Python, bạn có thể chọn nhiều tệp trong một thư mục sẽ được đổi tên.
import os filesRename = ['demo_1.txt', 'demo_2.txt', 'demo_3.txt',] folder = r"E:\docs\" for file in os.listdir[folder]: if file in filesRename: oldName = os.path.join[folder, file] n = os.path.splitext[file][0] b = n + '_new' + '.txt' newName = os.path.join[folder, b] os.rename[oldName, newName] res = os.listdir[folder] print[res]
Trên đây sẽ đổi tên chỉ 3 tệp trong thư mục tài liệu.
Cập nhật vào ngày 12 tháng 8 năm 2022 12:47:45
- Câu hỏi và câu trả lời liên quan
- Đổi tên nhiều tệp bằng Java
- Làm thế nào để đổi tên nhiều tệp một cách đệ quy bằng cách sử dụng Python?
- Làm thế nào để đổi tên nhiều tệp trong một thư mục trong Python?
- Sao chép, đổi tên và xóa các tệp trong Perl
- Nhiều tệp .java
- Làm thế nào để đổi tên thư mục bằng Python?
- Làm thế nào để hợp nhất nhiều tệp vào một tệp mới bằng Python?
- Làm thế nào để đổ một tệp nhị phân vào nhiều tệp bằng Python?
- Làm thế nào để đổi tên một tệp bằng Python?
- Python - Đổi tên tên cột theo chỉ mục trong GANDAS DATAFRAME mà không cần sử dụng Đổi tên []
- Python - Viết dữ liệu nhiều tệp vào tệp chính
- Đổi tên một bảng trong mysql bằng lệnh đổi tên bảng
- Sử dụng G ++ để biên dịch nhiều tệp .cpp và .h
- Làm thế nào để chia sẻ dữ liệu chung giữa nhiều tệp Python?
- Làm thế nào chúng ta có thể chia lớp Python thành nhiều tệp?