Khóa học python

Đổi tên và xoá file trong Python

0 phút đọc

Trong lập trình, việc quản lý file là một phần quan trọng và không thể thiếu. Python cung cấp nhiều phương thức để thao tác với file, bao gồm đổi tên và xoá file. Bài viết này sẽ hướng dẫn chi tiết cách đổi tên và xoá file trong Python, bao gồm các phương pháp sử dụng module osshutil, cùng với các ví dụ minh họa cụ thể.

Đổi tên file trong Python

Để đổi tên file trong Python, bạn có thể sử dụng module os hoặc shutil. Cả hai module này đều cung cấp các phương thức để thực hiện thao tác này một cách dễ dàng.

Sử dụng module os

Module os cung cấp phương thức os.rename() để đổi tên file hoặc di chuyển file từ vị trí này sang vị trí khác.

Cú pháp

os.rename(src, dst)
  • src: Đường dẫn đến file hiện tại.
  • dst: Đường dẫn đến file mới hoặc tên mới của file.

Ví dụ

import os

# Đường dẫn đến file hiện tại
src = 'old_file.txt'

# Đường dẫn đến file mới
dst = 'new_file.txt'

# Đổi tên file
os.rename(src, dst)

print(f"File '{src}' đã được đổi tên thành '{dst}'")

Trong ví dụ trên, file old_file.txt được đổi tên thành new_file.txt.

Sử dụng module shutil

Module shutil cung cấp phương thức shutil.move() để di chuyển file từ vị trí này sang vị trí khác hoặc đổi tên file.

Cú pháp

shutil.move(src, dst)
  • src: Đường dẫn đến file hiện tại.
  • dst: Đường dẫn đến file mới hoặc tên mới của file.

Ví dụ

import shutil

# Đường dẫn đến file hiện tại
src = 'old_file.txt'

# Đường dẫn đến file mới
dst = 'new_file.txt'

# Đổi tên file
shutil.move(src, dst)

print(f"File '{src}' đã được đổi tên thành '{dst}'")

Trong ví dụ trên, file old_file.txt được đổi tên thành new_file.txt bằng cách sử dụng phương thức shutil.move().

Xoá file trong Python

Để xoá file trong Python, bạn có thể sử dụng module os hoặc shutil. Cả hai module này đều cung cấp các phương thức để thực hiện thao tác này một cách dễ dàng.

Sử dụng module os

Module os cung cấp phương thức os.remove() để xoá file.

Cú pháp

os.remove(path)
  • path: Đường dẫn đến file cần xoá.

Ví dụ

import os

# Đường dẫn đến file cần xoá
file_path = 'file_to_delete.txt'

# Xoá file
os.remove(file_path)

print(f"File '{file_path}' đã được xoá")

Trong ví dụ trên, file file_to_delete.txt được xoá bằng cách sử dụng phương thức os.remove().

Sử dụng module shutil

Module shutil cung cấp phương thức shutil.rmtree() để xoá toàn bộ thư mục và các file bên trong nó. Tuy nhiên, để xoá một file đơn lẻ, bạn vẫn nên sử dụng os.remove().

Cú pháp

shutil.rmtree(path)
  • path: Đường dẫn đến thư mục cần xoá.

Ví dụ

import shutil

# Đường dẫn đến thư mục cần xoá
dir_path = 'directory_to_delete'

# Xoá thư mục và các file bên trong
shutil.rmtree(dir_path)

print(f"Thư mục '{dir_path}' đã được xoá")

Trong ví dụ trên, thư mục directory_to_delete và tất cả các file bên trong nó được xoá bằng cách sử dụng phương thức shutil.rmtree().

Kiểm tra sự tồn tại của file trước khi thao tác

Trước khi thực hiện các thao tác đổi tên hoặc xoá file, bạn nên kiểm tra xem file có tồn tại hay không để tránh các lỗi không mong muốn.

Sử dụng os.path.exists()

Phương thức os.path.exists() được sử dụng để kiểm tra xem một file hoặc thư mục có tồn tại hay không.

Cú pháp

os.path.exists(path)
  • path: Đường dẫn đến file hoặc thư mục cần kiểm tra.

Ví dụ

import os

# Đường dẫn đến file cần kiểm tra
file_path = 'file_to_check.txt'

# Kiểm tra sự tồn tại của file
if os.path.exists(file_path):
    print(f"File '{file_path}' tồn tại")
else:
    print(f"File '{file_path}' không tồn tại")

Trong ví dụ trên, phương thức os.path.exists() được sử dụng để kiểm tra xem file file_to_check.txt có tồn tại hay không.

Xử lý ngoại lệ khi thao tác với file

Khi thao tác với file, có thể xảy ra các lỗi không mong muốn như file không tồn tại, không có quyền truy cập, v.v. Bạn nên sử dụng khối try-except để xử lý các ngoại lệ này.

Ví dụ

import os

# Đường dẫn đến file cần xoá
file_path = 'file_to_delete.txt'

# Xử lý ngoại lệ khi xoá file
try:
    os.remove(file_path)
    print(f"File '{file_path}' đã được xoá")
except FileNotFoundError:
    print(f"File '{file_path}' không tồn tại")
except PermissionError:
    print(f"Không có quyền xoá file '{file_path}'")
except Exception as e:
    print(f"Đã xảy ra lỗi: {e}")

Trong ví dụ trên, khối try-except được sử dụng để xử lý các ngoại lệ khi xoá file file_to_delete.txt.

Đổi tên và xoá nhiều file cùng lúc

Bạn có thể sử dụng vòng lặp để đổi tên hoặc xoá nhiều file cùng lúc. Dưới đây là các ví dụ minh họa.

Đổi tên nhiều file

import os

# Danh sách các file cần đổi tên
files = ['filetxt', 'filetxt', 'filetxt']

# Đổi tên các file
for i, file in enumerate(files, start=1):
    new_name = f'new_file{i}.txt'
    os.rename(file, new_name)
    print(f"File '{file}' đã được đổi tên thành '{new_name}'")

Trong ví dụ trên, các file filetxt, filetxt, và filetxt được đổi tên thành new_filetxt, new_filetxt, và new_filetxt.

Xoá nhiều file

import os

# Danh sách các file cần xoá
files = ['filetxt', 'filetxt', 'filetxt']

# Xoá các file
for file in files:
    try:
        os.remove(file)
        print(f"File '{file}' đã được xoá")
    except FileNotFoundError:
        print(f"File '{file}' không tồn tại")
    except PermissionError:
        print(f"Không có quyền xoá file '{file}'")
    except Exception as e:
        print(f"Đã xảy ra lỗi: {e}")

Trong ví dụ trên, các file filetxt, filetxt, và filetxt được xoá. Nếu file không tồn tại hoặc không có quyền truy cập, chương trình sẽ xử lý ngoại lệ và in ra thông báo lỗi.

Đổi tên và xoá file trong thư mục

Bạn có thể sử dụng module os để duyệt qua các file trong một thư mục và thực hiện các thao tác đổi tên hoặc xoá file.

Đổi tên file trong thư mục

import os

# Đường dẫn đến thư mục
directory = 'my_directory'

# Đổi tên các file trong thư mục
for filename in os.listdir(directory):
    src = os.path.join(directory, filename)
    dst = os.path.join(directory, f'new_{filename}')
    os.rename(src, dst)
    print(f"File '{src}' đã được đổi tên thành '{dst}'")

Trong ví dụ trên, tất cả các file trong thư mục my_directory được đổi tên bằng cách thêm tiền tố new_ vào tên file.

Xoá file trong thư mục

import os

# Đường dẫn đến thư mục
directory = 'my_directory'

# Xoá các file trong thư mục
for filename in os.listdir(directory):
    file_path = os.path.join(directory, filename)
    try:
        os.remove(file_path)
        print(f"File '{file_path}' đã được xoá")
    except FileNotFoundError:
        print(f"File '{file_path}' không tồn tại")
    except PermissionError:
        print(f"Không có quyền xoá file '{file_path}'")
    except Exception as e:
        print(f"Đã xảy ra lỗi: {e}")

Trong ví dụ trên, tất cả các file trong thư mục my_directory được xoá. Nếu file không tồn tại hoặc không có quyền truy cập, chương trình sẽ xử lý ngoại lệ và in ra thông báo lỗi.

Kết luận

Trong Python, có nhiều cách để đổi tên và xoá file, bao gồm sử dụng module osshutil. Việc kiểm tra sự tồn tại của file và xử lý ngoại lệ là rất quan trọng để đảm bảo chương trình hoạt động ổn định và tránh các lỗi không mong muốn. Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về cách đổi tên và xoá file trong Python và cách sử dụng các phương pháp khác nhau để đạt được mục tiêu của bạn.

Avatar
Được viết bởi

TechMely Team

Gợi ý câu hỏi phỏng vấn

Gợi ý bài viết

Bình luận

Chưa có bình luận nào

Khoá học javascript từ cơ bản đến chuyên sâuYoutube Techmely