Tập lệnh python để đổi tên phần mở rộng tệp
Python là một ngôn ngữ lập trình tuyệt vời để tự động hóa các tác vụ bằng cách sử dụng các tập lệnh đơn giản. Nó cung cấp rất nhiều gói và mô-đun cho mục đích này. Đôi khi bạn có thể cần thay đổi phần mở rộng tệp của nhiều tệp trong Python. Trong bài viết này, chúng ta sẽ tìm hiểu cách thay đổi phần mở rộng tệp của nhiều tệp trong Python. Chúng tôi sẽ chỉ đổi tên các tệp này bằng Python Show
Cách thay đổi phần mở rộng tệp của nhiều tệp trong PythonDưới đây là các bước để thay đổi phần mở rộng tệp của nhiều tệp trong Python Đầu tiên chúng tôi nhập các mô-đun cần thiết import os, sys Tiếp theo, chúng tôi lưu vị trí thư mục chứa. txt có phần mở rộng cần được thay đổi thành. csv folder = '/home/ubuntu' Sau đó, chúng tôi lặp qua từng tệp một. Chúng tôi sử dụng hàm listdir() để lấy danh sách tất cả các tệp trong thư mục for filename in os.listdir(folder): infilename = os.path.join(folder,filename) if not os.path.isfile(infilename): continue oldbase = os.path.splitext(filename) newname = infilename.replace('.txt', '.csv') output = os.rename(infilename, newname) Trong vòng lặp for ở trên, chúng tôi lấy đường dẫn tệp đầy đủ của từng tệp trong thư mục và lưu trữ nó trong biến infilename. Chúng tôi sử dụng điều kiện if để kiểm tra xem đường dẫn tệp có thực sự tồn tại hay không, nếu không, chúng tôi tiếp tục với tệp tiếp theo Sử dụng hệ điều hành. con đường. splitext(), chúng tôi lấy tên tệp không có phần mở rộng và lưu trữ nó trong biến cơ sở cũ. Sau đó, chúng tôi sử dụng chức năng thay thế () để thay thế phần mở rộng tệp từ. txt thành. csv và lấy tên tệp mới. Cuối cùng, chúng ta sử dụng hàm rename() để đổi tên file cũ thành tên file mới hệ điều hành. đổi tên (src, dst). src là địa chỉ nguồn của tệp được đổi tên và dst là đích với tên mới Bây giờ, giả sử n hình ảnh đã cho 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 Bây giờ yêu cầu là đổi tên chúng theo thứ tự như hostel1, hostel2, …v.v. Thực hiện việc 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 rename() và listdir() trong mô-đun os. Phương thức listdir liệt kê tất cả nội dung của một thư mục nhất định Cú pháp cho listdir().
Đoạn mã sau sẽ thực hiện công việc cho chúng tôi. Nó duyệt qua danh sách tất cả các hình ảnh trong thư mục xyz, xác định địa chỉ đích (dst) và nguồn (src) và đổi tên bằng cách sử dụng mô-đun đổi tên. Nó làm việc cho tôi. Chạy thử tập lệnh để xem nó có phù hợp với bạn không. Bạn có thể liên hệ lại với tôi nếu bất kỳ bước nào không chính xác Vui vẻ giúp đỡ Tôi gặp vấn đề tương tự, khi tôi muốn thay thế khoảng trắng trong bất kỳ tệp pdf nào thành dấu gạch ngang -. Nhưng các tệp nằm trong nhiều thư mục con. Vì vậy, tôi đã phải sử dụng os. đi bộ(). Trong trường hợp của bạn đối với nhiều thư mục con, nó có thể giống như thế này Python rename() file là một phương thức dùng để đổi tên một file hoặc một thư mục trong lập trình Python. Phương thức tệp Python rename() có thể được khai báo bằng cách chuyển hai đối số có tên src (Nguồn) và dst (Đích) cú phápĐây là cú pháp cho os. phương thức đổi tên () os.rename(src, dst) Thông sốsrc. Nguồn là tên của tệp hoặc thư mục. Nó phải đã tồn tại dst. Đích đến là tên mới của tệp hoặc thư mục bạn muốn thay đổi Ví dụ import os os.rename('guru99.txt','career.guru99.txt') Hãy xem xét ví dụ một cách chi tiết Bạn có thể đổi tên tệp gốc, chúng tôi đã thay đổi tên tệp từ “Guru99. txt” thành “Sự nghiệp. gu99. txt. ” Khi thay đổi phần mở rộng, về cơ bản, bạn chỉ cần đổi tên tệp và thay đổi phần mở rộng. Để làm được điều đó, bạn cần tách tên tệp theo '. ' và thay thế mục cuối cùng bằng tiện ích mở rộng mới mà bạn muốn. Bạn có thể làm điều này bằng cách sử dụng hệ điều hành. đổi tên phương pháp. ví dụ>>> import os >>> my_file = 'my_file.txt' >>> base = os.path.splitext(my_file)[0] >>> os.rename(my_file, base + '.bin') Điều này sẽ đổi tên my_file. txt vào my_file. thùng rác Sử dụng phương pháp 0 để đổi tên tệp trong thư mục. Truyền cả tên cũ và tên mới cho hàm 1 để đổi tên tệpVí dụ. Đổi tên tệp trong PythonTrong ví dụ này, chúng tôi đang đổi tên “detail. txt” thành “new_details. txt” ________số 8đầu ra Trước khi đổi tên trước khi đổi tên một tập tinSau khi đổi tên Sau khi đổi tên một tập tinimport os old_name = r"E:\demos\files\reports\details.txt" new_name = r"E:\demos\files\reports\new_details.txt" if os.path.isfile(new_name): print("The file already exists") else: # Rename the file os.rename(old_name, new_name)0Như trong ví dụ, chúng ta có thể đổi tên một tệp trong Python bằng cách sử dụng phương thức 3() có sẵn trong mô-đun os. Mô-đun 4 cung cấp các chức năng để tương tác với các hệ điều hành. Mô-đun này nằm trong các mô-đun tiện ích tiêu chuẩn của Pythonfolder = '/home/ubuntu'2 Sau đây là các tham số mà chúng ta cần truyền cho phương thức 0
Ghi chú. Nếu 7 đã tồn tại thì folder = '/home/ubuntu'91 sẽ được ném vào Windows và trong trường hợp của UNIX, một folder = '/home/ubuntu'92 sẽ được ném Đổi tên tệp sau khi kiểm tra xem nó có tồn tại khôngPhương thức 0 làm tăng FileExistsError hoặc OSError khi tên tệp đích đã tồn tại. Điều này có thể tránh được bằng cách bọc mã của chúng ta trong khối folder = '/home/ubuntu'94 Sử dụng hàm isfile(‘path’) trước khi đổi tên tệp. Nó trả về true nếu tệp đích đã tồn tại Chúng ta có thể sử dụng hai cách tiếp cận sau để tiếp tục đổi tên bằng cách xóa tệp cũ hoặc dừng mà không đổi tên tệp
ví dụ 1. Sử dụng folder = '/home/ubuntu'95
đầu ra folder = '/home/ubuntu'9 ví dụ 2. Mã tương tự có thể được bọc trong khối thử ngoại trừ như bên dưới for filename in os.listdir(folder): infilename = os.path.join(folder,filename) if not os.path.isfile(infilename): continue oldbase = os.path.splitext(filename) newname = infilename.replace('.txt', '.csv') output = os.rename(infilename, newname)8 đầu ra for filename in os.listdir(folder): infilename = os.path.join(folder,filename) if not os.path.isfile(infilename): continue oldbase = os.path.splitext(filename) newname = infilename.replace('.txt', '.csv') output = os.rename(infilename, newname)9 Đổi tên nhiều tệp trong PythonĐôi khi chúng ta cần đổi tên tất cả các tệp từ một thư mục. Hãy xem xét một thư mục có bốn tệp có tên khác nhau và chúng tôi muốn đổi tên tất cả các tên tệp Chúng tôi có thể đổi tên nhiều tệp trong một thư mục bằng phương pháp 0 bằng cách thực hiện theo các bước bên dưới
Ví dụ sau minh họa cách thay đổi tên của tất cả các tệp từ một thư mục os.rename(src, dst)2 đầu ra os.rename(src, dst)3Sau khi đổi tên tất cả các tập tin Chỉ đổi tên một danh sách các tệp trong một thư mụcTrong khi đổi tên các tệp trong một thư mục, đôi khi chúng ta có thể chỉ đổi tên một danh sách các tệp chứ không phải tất cả các tệp. Sau đây là các bước chúng ta cần thực hiện để chỉ đổi tên một tập hợp các tệp trong một thư mục
Ví dụ os.rename(src, dst)4 đầu ra os.rename(src, dst)5 Đổi tên tệp bằng dấu thời gianTrong một số ứng dụng, dữ liệu hoặc nhật ký sẽ được lưu trữ trong các tệp thường xuyên trong một khoảng thời gian cố định. Đó là một quy ước tiêu chuẩn để thêm dấu thời gian vào tên tệp để giúp chúng dễ dàng lưu trữ và sử dụng sau này. Trong Python, chúng ta có thể sử dụng mô-đun datetime để làm việc với ngày và giờ Vui lòng làm theo các bước dưới đây để thêm dấu thời gian vào tên tệp
Xem xét ví dụ sau khi chúng tôi thêm dấu thời gian ở định dạng “%d-%b-%Y” folder = '/home/ubuntu'20 Đổi tên tệp bằng MẫuĐôi khi chúng tôi chỉ muốn đổi tên những tệp khớp với một mẫu cụ thể. Ví dụ: chỉ đổi tên các tệp pdf hoặc đổi tên các tệp có chứa một năm cụ thể trong tên của chúng Khớp mẫu được thực hiện bằng mô-đun toàn cầu. Mô-đun toàn cầu được sử dụng để tìm các tệp và thư mục có tên theo một mẫu cụ thể Chúng tôi có thể đổi tên các tệp khớp với mẫu bằng các bước sau. –
Ví dụ. Đổi tên tất cả các tệp văn bản bắt đầu bằng từ “bán hàng” bên trong thư mục “báo cáo” bằng tên mới “doanh thu” và bộ đếm folder = '/home/ubuntu'21 đầu ra folder = '/home/ubuntu'22 Đổi tên phần mở rộng của tệpChúng tôi chỉ có thể thay đổi phần mở rộng của tệp bằng phương pháp for filename in os.listdir(folder): infilename = os.path.join(folder,filename) if not os.path.isfile(infilename): continue oldbase = os.path.splitext(filename) newname = infilename.replace('.txt', '.csv') output = os.rename(infilename, newname)81. Điều này được thực hiện bằng cách lấy danh sách các tệp và sau đó chỉ lấy tên tệp bằng phương thức của mô-đun os Phương thức này trả về gốc và phần mở rộng riêng biệt. Khi chúng tôi nhận được gốc/cơ sở của tên tệp, chúng tôi có thể thêm phần mở rộng mới cho nó trong khi đổi tên nó bằng phương thức for filename in os.listdir(folder): infilename = os.path.join(folder,filename) if not os.path.isfile(infilename): continue oldbase = os.path.splitext(filename) newname = infilename.replace('.txt', '.csv') output = os.rename(infilename, newname)81 Sử dụng các bước dưới đây để chỉ đổi tên tiện ích mở rộng. –
Hãy xem ví dụ folder = '/home/ubuntu'23 đầu ra folder = '/home/ubuntu'24 Đổi tên và sau đó di chuyển tệp đến vị trí mớiVới sự trợ giúp của phương pháp for filename in os.listdir(folder): infilename = os.path.join(folder,filename) if not os.path.isfile(infilename): continue oldbase = os.path.splitext(filename) newname = infilename.replace('.txt', '.csv') output = os.rename(infilename, newname)81, chúng tôi có thể đổi tên tệp và sau đó di chuyển tệp đó đến một vị trí mới. Điều này được thực hiện bằng cách chuyển vị trí mới cho tham số 7 của phương thức for filename in os.listdir(folder): infilename = os.path.join(folder,filename) if not os.path.isfile(infilename): continue oldbase = os.path.splitext(filename) newname = infilename.replace('.txt', '.csv') output = os.rename(infilename, newname)81 Xem xét ví dụ dưới đây, nơi chúng tôi đang xác định hai thư mục khác nhau làm nguồn và đích riêng biệt. Sau đó, sử dụng for filename in os.listdir(folder): infilename = os.path.join(folder,filename) if not os.path.isfile(infilename): continue oldbase = os.path.splitext(filename) newname = infilename.replace('.txt', '.csv') output = os.rename(infilename, newname)91, chúng tôi sẽ thay đổi tên và vị trí của tệp Cuối cùng, khi chúng tôi in các tệp ở vị trí mới, chúng tôi có thể thấy tệp trong danh sách folder = '/home/ubuntu'25 Vấn đề thực hành. Đổi tên một tập tin hình ảnhChúng tôi có thể đổi tên bất kỳ tệp nào trong một thư mục và tệp thuộc bất kỳ loại nào bằng cách sử dụng 0. Trong ví dụ dưới đây, chúng tôi sẽ thay đổi tên của tệp hình ảnh bên trong thư mụcfolder = '/home/ubuntu'26 đầu ra folder = '/home/ubuntu'27 Trong bài viết này, chúng tôi đã đề cập đến những điều cơ bản về đổi tên tệp, phương pháp được sử dụng để đổi tên. Chúng tôi cũng đã xem cách đổi tên tệp theo một mẫu cụ thể, đặt tên cho tất cả các tệp trong một thư mục và thêm ngày vào tệp. Chúng tôi cũng có ví dụ về cách thay đổi phần mở rộng của tệp và cách di chuyển tệp đến vị trí mới sau khi thay đổi tên Cú pháp đổi tên () một tệp là gì?Cú pháp. int rename (const char *old_name, const char *new_name); Tham số. tên Cu. Tên của một tệp hiện có sẽ được đổi tên. tên mới. Chuỗi chứa tên mới của tệp.
Làm cách nào để thêm phần mở rộng tệp trong Python?Phương pháp 1. Sử dụng hàm splittext() của mô-đun Python os
. |