Trong Python, bạn có thể đổi tên và xóa file bằng cách sử dụng các hàm tích hợp sẵn từ mô-đun os
. Đây là những thao tác quan trọng giúp quản lý dữ liệu, tự động hóa quy trình làm việc và tối ưu hóa mã nguồn. Trong bài viết này, mình sẽ hướng dẫn bạn cách đổi tên và xóa file trong Python một cách chi tiết. Đồng thời, bạn cũng sẽ biết cách thao tác trên nhiều file cùng lúc và xử lý lỗi để đảm bảo chương trình luôn hoạt động ổn định.
Điểm chính cần nắm
- Điểm chính cần nắm: Tổng quan về cách đổi tên và xóa file trong Python, giúp bạn quản lý dữ liệu hiệu quả.
- Đổi tên file trong Python: Sử dụng hàm
os.rename()
để thay đổi tên file một cách đơn giản và nhanh chóng. - Cách xóa file trong Python: Dùng hàm
os.remove()
để xóa file trong hệ thống một cách an toàn. - Đổi tên/Xóa nhiều file cùng lúc:
- Đổi tên nhiều file cùng lúc: Sử dụng vòng lặp và
os.rename()
để thay đổi tên hàng loạt file. - Xóa nhiều file cùng lúc: Dùng
os.remove()
trong vòng lặp để tự động xóa nhiều file. - Lưu ý khi đổi tên/xóa nhiều file: Kiểm tra sự tồn tại của file, tránh lỗi ảnh hưởng đến chương trình.
- Đổi tên nhiều file cùng lúc: Sử dụng vòng lặp và
- Xử lý lỗi với try-except để chương trình không bị dừng đột ngột:
- Xử lý lỗi khi đổi tên file: Sử dụng
try-except
để xử lý lỗi khi đổi tên file không tồn tại hoặc bị khóa. - Xử lý lỗi khi xóa file: Kiểm tra sự tồn tại của file trước khi xóa để tránh lỗi chương trình.
- Kết quả: Giúp chương trình chạy ổn định, tránh gián đoạn do lỗi thao tác file.
- Xử lý lỗi khi đổi tên file: Sử dụng
- Vietnix – Giải pháp lưu trữ tốc độ cao, bảo mật vượt trội: Nhà cung cấp dịch vụ máy chủ, hosting, VPS uy tín, giúp tối ưu hóa hiệu suất và bảo mật dữ liệu.

Đổi tên file trong Python
Để đổi tên file, bạn có thể sử dụng hàm os.rename()
. Hàm này nhận vào hai tham số: tên file hiện tại và tên file mới.
Cú pháp:
os.rename(current_file_name, new_file_name)
# Tham số
# current_file_name: Tên file hiện tại.
# new_file_name: Tên file mới sau khi đổi.
Ví dụ: Mình sẽ thực hiện minh họa cách đổi tên file từ “vietnix_old.txt” thành “vietnix_new.txt” sử dụng hàm rename()
.
import os
# Tên file hiện tại
current_name = "vietnix_old.txt"
# Tên file mới
new_name = "vietnix_new.txt"
# Đổi tên file
os.rename(current_name, new_name)
print(f"File '{current_name}' đã được đổi tên thành '{new_name}' thành công.")
Kết quả:
File ‘vietnix_old.txt’ đã được đổi tên thành ‘vietnix_new.txt’ thành công.
Lưu ý:
- Nếu file không tồn tại, chương trình sẽ báo lỗi
FileNotFoundError
. - Nếu file mới đã tồn tại, nó sẽ bị ghi đè mà không có cảnh báo.
- Bạn có thể kiểm tra file trước khi đổi tên bằng
os.path.exists()
# Cách kiểm tra file trước khi đổi tên
if os.path.exists(current_name):
os.rename(current_name, new_name)
print("Đổi tên thành công.")
else:
print("File không tồn tại.")
Cách xóa file trong Python
Bạn có thể xóa file bằng cách sử dụng hàm os.remove()
. Hàm này sẽ xóa file được chỉ định theo tên.
Cú pháp:
os.remove(file_name)
# Tham số
# file_name: Tên file cần xóa.
Ví dụ: Mình sẽ thực hiện ví dụ để xóa file hiện có với tên vietnix_temp.txt
bằng hàm remove()
.
import os
# Tên file cần xóa
file_to_delete = "vietnix_temp.txt"
# Xóa file
os.remove(file_to_delete)
print(f"File '{file_to_delete}' đã được xóa thành công.")
Kết quả:
File ‘vietnix_temp.txt’ đã được xóa thành công.
Lưu ý:
- Nếu file không tồn tại, chương trình sẽ báo lỗi
FileNotFoundError
. - Để tránh lỗi, bạn có thể kiểm tra trước khi xóa:
# Cách kiểm tra file trước khi xóa
if os.path.exists(file_to_delete):
os.remove(file_to_delete)
print("Xóa file thành công.")
else:
print("File không tồn tại.")
Mọi người cũng xem:
Đổi tên/Xóa nhiều file cùng lúc
Trong một số trường hợp, bạn cần đổi tên hoặc xóa nhiều file cùng lúc thay vì thao tác từng file một. Bạn có thể sử dụng vòng lặp để duyệt qua danh sách file cần xử lý.
Đổi tên nhiều file cùng lúc
Dưới đây là ví dụ đổi tên nhiều file có tiền tố vietnix_old_
thành vietnix_new_
:
import os
# Danh sách file cần đổi tên
file_list = ["vietnix_old_1.txt", "vietnix_old_2.txt", "vietnix_old_3.txt"]
# Đổi tên từng file
for file_name in file_list:
new_name = file_name.replace("vietnix_old_", "vietnix_new_")
if os.path.exists(file_name):
os.rename(file_name, new_name)
print(f"Đã đổi tên {file_name} thành {new_name}")
else:
print(f"File {file_name} không tồn tại.")
Kết quả:
Giả sử thư mục của bạn có các file: vietnix_old_1.txt
, vietnix_old_2.txt
, vietnix_old_3.txt
.
Đã đổi tên vietnix_old_1.txt thành vietnix_new_1.txt
Đã đổi tên vietnix_old_2.txt thành vietnix_new_2.txt
Đã đổi tên vietnix_old_3.txt thành vietnix_new_3.txt
Nếu một file không tồn tại, chương trình sẽ báo:
File vietnix_old_2.txt không tồn tại.
Xóa nhiều file cùng lúc
Tương tự, bạn có thể xóa nhiều file bằng cách duyệt qua danh sách file cần xóa:
import os
# Danh sách file cần xóa
files_to_delete = ["vietnix_temp_1.txt", "vietnix_temp_2.txt", "vietnix_temp_3.txt"]
# Xóa từng file
for file_name in files_to_delete:
if os.path.exists(file_name):
os.remove(file_name)
print(f"Đã xóa {file_name}")
else:
print(f"File {file_name} không tồn tại.")
Kết quả:
Giả sử thư mục của bạn có các file: vietnix_temp_1.txt
, vietnix_temp_2.txt
, vietnix_temp_3.txt
.
Đã xóa vietnix_temp_1.txt
Đã xóa vietnix_temp_2.txt
Đã xóa vietnix_temp_3.txt
Nếu một file không tồn tại, chương trình sẽ báo:
File vietnix_temp_3.txt không tồn tại.
Lưu ý khi đổi tên/xóa nhiều file
- Luôn kiểm tra file có tồn tại trước khi thực hiện thao tác.
- Nếu làm việc với số lượng file lớn, bạn có thể sử dụng thư viện
glob
để lọc danh sách file theo mẫu (ví dụ: tất cả file.txt
). - Khi đổi tên file theo quy tắc, hãy đảm bảo không đặt tên trùng lặp gây lỗi.
Xử lý lỗi với try-except để chương trình không bị dừng đột ngột
Khi thao tác với file trong Python, nếu file không tồn tại hoặc có lỗi trong quá trình đổi tên/xóa, chương trình có thể bị dừng đột ngột. Để tránh tình trạng này, bạn có thể sử dụng khối try-except
để xử lý lỗi một cách an toàn.
Xử lý lỗi khi đổi tên file
Dưới đây là cách đổi tên file với xử lý lỗi:
import os
current_name = "vietnix_old.txt"
new_name = "vietnix_new.txt"
try:
os.rename(current_name, new_name)
print(f"File '{current_name}' đã được đổi tên thành '{new_name}' thành công.")
except FileNotFoundError:
print(f"Lỗi: File '{current_name}' không tồn tại.")
except PermissionError:
print(f"Lỗi: Không có quyền đổi tên file '{current_name}'.")
except Exception as e:
print(f"Lỗi không xác định: {e}")
Xử lý lỗi khi xóa file
Tương tự, khi xóa file, bạn nên bắt lỗi để tránh chương trình bị gián đoạn:
import os
file_to_delete = "vietnix_temp.txt"
try:
os.remove(file_to_delete)
print(f"File '{file_to_delete}' đã được xóa thành công.")
except FileNotFoundError:
print(f"Lỗi: File '{file_to_delete}' không tồn tại.")
except PermissionError:
print(f"Lỗi: Không có quyền xóa file '{file_to_delete}'.")
except Exception as e:
print(f"Lỗi không xác định: {e}")
Kết quả
Trường hợp thành công:
File 'vietnix_old.txt' đã được đổi tên thành 'vietnix_new.txt' thành công.
Hoặc:
File 'vietnix_temp.txt' đã được xóa thành công.
Trường hợp file không tồn tại:
Lỗi: File 'vietnix_old.txt' không tồn tại.
Trường hợp không có quyền thao tác:
Lỗi: Không có quyền đổi tên file 'vietnix_old.txt'.
Vietnix – Giải pháp lưu trữ tốc độ cao, bảo mật vượt trội
Vietnix là nhà cung cấp dịch vụ thuê máy chủ (server), hosting, VPS và domain hàng đầu tại Việt Nam, mang đến giải pháp lưu trữ mạnh mẽ, an toàn và tối ưu cho cá nhân, doanh nghiệp. Với hơn 12 năm kinh nghiệm, Vietnix không ngừng nâng cao chất lượng dịch vụ, đảm bảo hiệu suất cao, bảo mật chặt chẽ cùng đội ngũ hỗ trợ kỹ thuật chuyên nghiệp 24/7.
Hơn 80.000 khách hàng đã tin tưởng sử dụng dịch vụ của Vietnix, nhờ vào hệ thống hạ tầng mạnh mẽ, chính sách chăm sóc khách hàng tận tâm và các giải pháp tối ưu hóa chi phí. Dù bạn là cá nhân hay doanh nghiệp, Vietnix luôn sẵn sàng đồng hành, giúp bạn vận hành website, ứng dụng một cách ổn định, an toàn và hiệu quả.
Thông tin liên hệ:
- Website: https://vietnix.vn/
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
Câu hỏi thường gặp
Có thể khôi phục file sau khi đã xóa bằng os.remove() không?
Không, os.remove()
xóa file vĩnh viễn. Nếu cần khôi phục, bạn có thể di chuyển file vào thư mục “thùng rác” thay vì xóa trực tiếp bằng thư viện send2trash
.
Sự khác biệt giữa os.remove() và os.unlink() là gì?
Hai hàm này hoạt động giống nhau, đều dùng để xóa file. os.unlink()
chỉ là một tên gọi khác của os.remove()
trong Python.
Có thể đổi tên file mà không thay đổi phần mở rộng (đuôi file) không?
Có, bạn có thể tách tên file và phần mở rộng bằng os.path.splitext()
trước khi đổi tên, ví dụ: python
import os
file_name = “vietnix_old.txt”
name, ext = os.path.splitext(file_name)
new_name = name + “_new” + ext
os.rename(file_name, new_name)
Làm sao để đổi tên hoặc xóa file có dấu cách hoặc ký tự đặc biệt trong tên?
Khi thao tác với file có dấu cách hoặc ký tự đặc biệt, bạn chỉ cần đảm bảo đặt tên file trong dấu nháy ("
hoặc '
) đúng cách, hoặc dùng r"tên_file"
để tránh lỗi escape sequence.
Có thể đổi tên file theo số thứ tự tự động không?
Có, bạn có thể sử dụng vòng lặp và enumerate()
để đổi tên hàng loạt file theo số thứ tự, ví dụ: python
import os
folder = “vietnix_files”
for index, file in enumerate(os.listdir(folder), start=1):
old_path = os.path.join(folder, file)
new_path = os.path.join(folder, f”file_{index}.txt”)
os.rename(old_path, new_path)
Làm thế nào để xóa tất cả file trong một thư mục?
Bạn có thể dùng vòng lặp để duyệt qua tất cả các file trong thư mục và xóa chúng bằng os.remove()
. Nếu muốn xóa cả thư mục, dùng shutil.rmtree()
.
Có cách nào đổi tên/xóa file mà không gây lỗi nếu file không tồn tại không?
Có, bạn có thể kết hợp os.path.exists()
với try-except
để tránh lỗi khi file không tồn tại.
Lời kết
Việc đổi tên và xóa file trong Python không chỉ giúp bạn làm việc với dữ liệu linh hoạt hơn mà còn hỗ trợ tự động hóa nhiều tác vụ quan trọng. Bằng cách áp dụng những kỹ thuật trên, bạn có thể tránh được các lỗi phổ biến và đảm bảo chương trình luôn hoạt động ổn định. Nếu bạn có bất cứ thắc mắc hay cần hỗ trợ gì, hãy để lại bình luận bên dưới, mình sẽ hỗ trợ nhanh nhất. Cảm ơn bạn đã đọc!