Đối với mục đích trình diễn, giả sử rằng một tệp có tên "Sản phẩm" được lưu trữ theo đường dẫn sau
C. \Users\Ron\Desktop\Test
Lưu ý rằng bạn sẽ cần sửa đổi đường dẫn tệp để phản ánh vị trí lưu trữ tệp trên máy tính của bạn
Bước 2. Đổi tên tệp
Để đổi tên tệp bằng Python, bạn cần nhập gói os
Sau đó, bạn có thể sử dụng mẫu sau để đổi tên tệp của mình
import os os.rename[r'file path\OLD file name.file type',r'file path\NEW file name.file type']
Trong bối cảnh ví dụ của chúng tôi
- Đường dẫn tập tin. C. \Users\Ron\Desktop\Test
- Tên tệp CŨ. Các sản phẩm
- tên tập tin MỚI. Sản phẩm đã vận chuyển
- Loại tệp. txt
Đừng quên đặt “r” trước đường dẫn tệp để tránh lỗi sau trong Python
[lỗi unicode] codec 'unicodeescape' không thể giải mã byte ở vị trí 2-3. rút ngắn \UXXXXXXX thoát
Mã Python hoàn chỉnh để đổi tên tệp văn bản từ “Sản phẩm” thành “Sản phẩm đã vận chuyển” là
import os os.rename[r'C:\Users\Ron\Desktop\Test\Products.txt',r'C:\Users\Ron\Desktop\Test\Shipped Products.txt']
Chạy mã [được điều chỉnh theo đường dẫn tệp của bạn] và bạn sẽ nhận được tên tệp mới
Sản phẩm đã vận chuyển
Bước tùy chọn. Thêm dấu ngày khi đổi tên tệp
Giả sử bạn muốn thêm dấu ngày khi đổi tên tệp
Bạn có thể hoàn thành tác vụ này bằng gói datetime
Trong ví dụ của chúng tôi, để đổi tên tệp "Sản phẩm" thành "Sản phẩm đã vận chuyển" + dấu ngày, bạn cần áp dụng mã này [được điều chỉnh theo đường dẫn tệp của bạn]
Khả năng làm việc với các tệp là một kỹ năng cần thiết đối với nhà phát triển Python ở mọi cấp độ kỹ năng. Đặc biệt, Python có thể được sử dụng để dễ dàng đổi tên một tệp hoặc nhiều tệp. Khả năng tự động hóa các tác vụ lặp đi lặp lại, chẳng hạn như đổi tên tệp có thể giúp bạn tiết kiệm rất nhiều thời gian. Trong hướng dẫn này, bạn sẽ học cách đổi tên tệp bằng Python bằng lệnh os. đổi tên[] chức năng
Đến cuối hướng dẫn này, bạn sẽ học được những điều sau
- Cách sử dụng hàm
os.rename[]
trong Python - Cách đổi tên một tệp hoặc nhiều tệp cùng một lúc
- Cách đổi tên các tệp khớp với một mẫu, chẳng hạn như sửa đổi mẫu ngày trong nhiều tệp
- Xử lý lỗi khi đổi tên file bằng Python
Mục lục
Hiểu hệ điều hành Python. đổi tên [] Chức năng
Python đi kèm với một hàm dựng sẵn, rename[]
, là một phần của thư viện os
. Như tên ngụ ý, chức năng được sử dụng để đổi tên một tập tin. Trước khi đi sâu vào các ví dụ thực tế như thế nào, chúng ta hãy xem những gì tạo nên chức năng, bao gồm các tham số khác nhau của nó
# Understanding the Python os.rename[] Function
os.rename[
src,
dst,
*,
src_dir_fd=None,
dst_dir_fd=None
]
Từ đoạn mã trên, bạn có thể thấy rằng hàm chấp nhận bốn đối số, hai trong số đó là tùy chọn. Chúng ta hãy xem các tham số của hàm os.rename[]
, bao gồm các đối số mặc định của chúng
# Rename a File with Python os.rename[]
import os
os.rename['old_name.txt', 'new_name.txt']
1Đường dẫn đích cho tệp mà bạn muốn sử dụng dạng chuỗi hoặc dạng đường dẫn# Rename a File with Python os.rename[]
import os
os.rename['old_name.txt', 'new_name.txt']
2Thư mục tệp nguồn# Rename a File with Python os.rename[]
import os
os.rename['old_name.txt', 'new_name.txt']
3chuỗi hoặc dạng đường dẫn# Rename a File with Python os.rename[]
import os
os.rename['old_name.txt', 'new_name.txt']
4Thư mục tệp đích# Rename a File with Python os.rename[]
import os
os.rename['old_name.txt', 'new_name.txt']
3chuỗi hoặc dạng đường dẫnCác tham số và đối số mặc định của . đổi tên[] chức năngBây giờ bạn đã hiểu rõ về cách thức hoạt động của hàm, hãy đi sâu vào một số ví dụ thực tế về cách đổi tên tệp bằng Python
Cách đổi tên tệp bằng Python bằng os. đổi tên[]
Làm cách nào bạn có thể đổi tên tệp bằng Python?
Để đổi tên tệp bằng Python, bạn có thể sử dụng lệnh os. đổi tên[] chức năng. Chỉ cần chuyển vào cả đường dẫn nguồn tới tệp và đường dẫn tệp được cập nhật mà bạn muốn sử dụng. Nếu đường dẫn tệp được đổi tên đã tồn tại, thì Python sẽ tăng FileExistsError
Hãy cùng xem một ví dụ về cách đổi tên tệp bằng Python
# Rename a File with Python os.rename[]
import os
os.rename['old_name.txt', 'new_name.txt']
Hãy xem cách chúng ta có thể đổi tên tệp bằng Python os. đổi tên[] chức năng
- Nhập thư viện os
Nhập thư viện hệ điều hành bằng cách sử dụng
6 sẽ cung cấp cho bạn quyền truy cập vào hệ điều hành. đổi tên[] chức năng# Rename a File with Python os.rename[] import os os.rename['old_name.txt', 'new_name.txt']
- Nhập đường dẫn tệp gốc làm đối số đầu tiên trong hệ điều hành. đổi tên[] chức năng
hệ điều hành. hàm rename[] chấp nhận hai đối số bắt buộc. đường dẫn gốc, tệp nguồn và đường dẫn tệp đích. Nhập đường dẫn tệp nguồn vào đối số vị trí đầu tiên
- Nhập đường dẫn tệp đã đổi tên vào đối số thứ hai trong hệ điều hành. đổi tên[] chức năng
Nhập đường dẫn tệp đã đổi tên vào đối số thứ hai. Nếu đường dẫn tệp đã tồn tại, Python sẽ tăng FileExistsError và chương trình sẽ không hoàn thành
Bây giờ bạn đã biết cách đổi tên một tệp, hãy xem cách bạn có thể sử dụng Python để đổi tên nhiều tệp cùng một lúc
Cách đổi tên nhiều tệp bằng Python bằng os. đổi tên[]
Để đổi tên nhiều tệp bằng Python, bạn có thể kết hợp hệ điều hành. rename[] với vòng lặp for Python. Vòng lặp for cho phép bạn lặp qua danh sách các mục, chẳng hạn như danh sách tên tệp
Nếu bạn muốn đổi tên tất cả các tệp trong một thư mục, bạn có thể sử dụng lệnh os. listdir[] để lấy danh sách tất cả các tệp trong một thư mục. Hãy xem cách chúng ta có thể sử dụng vòng lặp for và os. rename[] để đổi tên tất cả các tệp trong một thư mục bằng cách thêm tiền tố của
# Rename a File with Python os.rename[]
import os
os.rename['old_name.txt', 'new_name.txt']
7# Rename Multiple Files with Python
import os
dir = 'files/'
for file in os.listdir[dir]:
old_filepath = os.path.join[dir, file]
new_name = 'old_' + file
new_filepath = os.path.join[dir, new_name]
os.rename[old_filepath, new_filepath]
Hãy chia nhỏ những gì chúng ta đang làm trong khối mã ở trên
- Chúng tôi tạo một biến mới cho thư mục của chúng tôi,
8. Trong trường hợp này, nó giữ đường dẫn tương đối đến thư mục của chúng ta, giả sử rằng chúng ta đang làm việc trong cùng một thư mục# Rename a File with Python os.rename[] import os os.rename['old_name.txt', 'new_name.txt']
- Sau đó, chúng tôi lặp qua từng tệp trong thư mục và thực hiện như sau
- Chúng tôi tạo một biến có tên là
9 đại diện cho đường dẫn đến các tệp# Rename a File with Python os.rename[] import os os.rename['old_name.txt', 'new_name.txt']
- Chúng tôi tạo một tên mới cho mỗi tệp bằng cách giả sử _12_______0 cho tệp
- Sau đó chúng tôi tham gia thư mục và tên mới với nhau
- Chúng tôi tạo một biến có tên là
- Cuối cùng, chúng tôi sử dụng chức năng
os.rename[]
để đổi tên từng tệp trong thư mục
Trong phần sau, bạn sẽ tìm hiểu cách đổi tên tệp trong thư mục khớp với mẫu dấu thời gian
Cách đổi tên tệp khớp với mẫu dấu thời gian bằng Python
Trong nhiều trường hợp, các tệp sẽ có dấu thời gian hoặc mẫu ngày trong đó. Tuy nhiên, trong một số trường hợp, các mẫu ngày này sẽ không được cấu trúc theo cách hữu ích cho bạn. Đây là nơi có thể đổi tên tệp bằng Python có ích. Có thể đổi tên hàng trăm hoặc hàng nghìn tệp để thay đổi mẫu ngày và giờ của chúng là một kỹ năng cực kỳ hữu ích
Hãy xem xét một ví dụ. Giả sử chúng tôi có một thư mục tệp chứa các tệp sau
- file_01-01-2023. txt
- file_02-01-2023. txt
- file_03-01-2023. txt
- file_04-01-2023. txt
Chúng ta có thể thấy rằng các tệp này có ngày được thêm vào chúng. Mẫu cho những ngày này là MM-DD-YYYY. Giả sử bạn muốn thay đổi định dạng thành định dạng YYYY-MM-DD phổ biến hơn. Hãy xem cách chúng ta có thể làm điều này với Python
# Rename Files with a Date Pattern
import os
import re
from datetime import datetime
dir = 'date_files/'
for file in os.listdir[dir]:
old_filename = os.path.join[dir, file]
old_date = re.search[r'\d{2}-\d{2}-\d{4}', file].group[]
new_date = datetime.strptime[old_date, '%M-%d-%Y'].strftime['%Y-%M-%d']
new_file = file.replace[old_date, new_date]
new_filename = os.path.join[dir, new_file]
os.rename[old_filename, new_filename]
Ví dụ này phức tạp hơn một chút, vì vậy hãy chia nhỏ những gì chúng ta đang làm từng bước
- Chúng tôi nhập os, re và datetime. thư viện ngày giờ
- Sau đó chúng ta khai báo biến
8 như trước# Rename a File with Python os.rename[] import os os.rename['old_name.txt', 'new_name.txt']
- Khi chúng tôi lặp lại các tệp, chúng tôi tìm kiếm mẫu ngày cũ bằng cách sử dụng phương thức
3# Rename Multiple Files with Python import os dir = 'files/' for file in os.listdir[dir]: old_filepath = os.path.join[dir, file] new_name = 'old_' + file new_filepath = os.path.join[dir, new_name] os.rename[old_filepath, new_filepath]
- Sau đó, chúng tôi sử dụng các hàm strptime và strftime để tải mẫu ngày đầu tiên dưới dạng ngày và sau đó sửa đổi nếu thành mẫu mong muốn của chúng tôi
- Cuối cùng, chúng tôi tạo đường dẫn tệp mới của mình và đổi tên tệp bằng lệnh os. đổi tên[] chức năng
Trong phần cuối cùng bên dưới, bạn sẽ tìm hiểu cách xử lý lỗi khi đổi tên tệp bằng Python
Cách xử lý lỗi khi đổi tên file bằng Python
Khi cố gắng đổi tên một tệp không tồn tại bằng Python, một số
# Rename Multiple Files with Python
import os
dir = 'files/'
for file in os.listdir[dir]:
old_filepath = os.path.join[dir, file]
new_name = 'old_' + file
new_filepath = os.path.join[dir, new_name]
os.rename[old_filepath, new_filepath]
4 sẽ xuất hiện. Điều này chỉ ra rằng tệp không tồn tại và sẽ làm hỏng chương trình của bạn trừ khi nó được xử lý thích hợpHãy xem lỗi này trông như thế nào
# Raising a FileNotFoundError
import os
os.rename['thisfiledoesnotexist.txt', 'newname.txt']
# Returns:
# FileNotFoundError: [Errno 2] No such file or directory: 'thisfiledoesnotexist.txt' -> 'newname.txt'
Từ đoạn mã trên, chúng ta có thể thấy rằng chương trình đã bị lỗi khi chúng ta cố đổi tên tệp. Để xử lý lỗi này một cách an toàn và giữ cho chương trình chạy, chúng ta có thể bọc mọi thứ trong một khối try-else
Hãy xem cái này trông như thế nào
# Handling a FileNotFoundError
import os
try:
os.rename['thisfiledoesnotexist.txt', 'newname.txt']
except FileNotFoundError:
print['File does not exist.']
# Returns: File does not exist.
Chúng ta có thể thấy rằng bằng cách sử dụng khối try-else, chúng ta có thể xử lý lỗi cụ thể xuất hiện khi tệp không tồn tại. Trong trường hợp này, chương trình của chúng tôi tiếp tục chạy và cho người dùng biết rằng tệp không tồn tại
Phần kết luận
Trong hướng dẫn này, bạn đã học cách đổi tên tệp bằng Python. Bởi vì Python là ngôn ngữ lập trình có mục đích chung, nên nó có thể được sử dụng để tự động hóa các tác vụ thông thường, chẳng hạn như làm việc với các tệp. Lần đầu tiên bạn học cách hệ điều hành. rename[] hoạt động bằng cách khám phá các tham số và đối số mặc định khác nhau của nó. Sau đó, bạn đã học cách đổi tên một tệp và nhiều tệp. Từ đó, bạn đã học cách đổi tên các mẫu ngày trong tệp để đáp ứng nhu cầu của mình. Cuối cùng, bạn đã học cách xử lý FileNotFoundErrors phát sinh khi sử dụng hệ điều hành. rename[] khi tệp không tồn tại