Tự động hóa file và thư mục bằng Python với AI

Thứ ba - 09/06/2026 22:54

Xây dựng các script Python để sắp xếp file vào thư mục, đổi tên file hàng loạt, tạo bản sao lưu tự động và giám sát những thư mục để phát hiện thay đổi — tất cả đều với sự hỗ trợ của AI.

 

🔄 Tóm tắt bài học: Trong bài học trước, bạn đã học được lý do tại sao Python lý tưởng cho tự động hóa và cách AI tạo ra các script từ mô tả ngôn ngữ tự nhiên. Bây giờ, hãy xây dựng tự động hóa thực tế đầu tiên của bạn — sắp xếp và quản lý file.

Quản lý file là điểm khởi đầu tự động hóa phổ biến nhất vì kết quả hiển thị ngay lập tức, rủi ro thấp (bạn luôn có thể di chuyển file trở lại) và ai cũng có một thư mục Downloads lộn xộn.

Script 1: Trình sắp xếp file theo loại

Prompt AI:

 
Viết một script Python sử dụng pathlib để sắp xếp các file trong một thư mục được chỉ định thành những thư mục con theo loại file. Quy tắc: (1) Hình ảnh (.jpg, .png, .gif, .webp, .svg) → "Images/", (2) Tài liệu (.pdf, .docx, .xlsx, .pptx, .txt) → "Documents/", (3) Video (.mp4, .mov, .avi, .mkv) → "Videos/", (4) File lưu trữ (.zip, .tar, .gz, .rar) → "Archives/", (5) Mọi thứ khác → "Other/". Bao gồm: chế độ chạy thử, ghi nhật ký CSV, bỏ qua các file ẩn, xử lý tên file trùng lặp bằng cách thêm _1, _2, v.v. Sử dụng argparse cho các đối số dòng lệnh.

Các thao tác pathlib chính để tự động hóa file:

Hoạt độngCode pathlibChức năng của nó
Liệt kê các file

Path(folder).iterdir()

Lặp lại qua tất cả các mục
Lọc theo loại

Path(folder).glob("*.pdf")

Tìm các file phù hợp với một mẫu nhất định
Lấy phần mở rộng

path.suffix

Trả lại .pdf, .jpg, v.v.
Lấy tên file

path.stem

Filename không có phần mở rộng
Di chuyển file

path.rename(new_path)

Di chuyển hoặc đổi tên
Tạo thư mục

path.mkdir(parents=True, exist_ok=True)

Tạo thư mục lồng nhau một cách an toàn
Kiểm tra sự tồn tại

path.exists()

Kiểm tra xem file/thư mục có tồn tại hay không

Script 2: Đổi tên hàng loạt file

Prompt AI:

 
Viết một script Python để đổi tên hàng loạt file. Hỗ trợ các mẫu đổi tên sau: (1) Thêm tiền tố ngày tháng từ siêu dữ liệu file: IMG_1234.jpg → 2026-01-15_IMG_1234.jpg, (2) Thay thế văn bản trong tên file: "Screenshot_" → "screen-", (3) Đánh số thứ tự: photo.jpg → vacation_001.jpg. Bao gồm: chế độ xem trước (hiển thị file cũ → file mới mà không đổi tên), khả năng hoàn tác (lưu file ánh xạ để đảo ngược thao tác), bỏ qua các file đã khớp với mẫu. Chấp nhận đường dẫn thư mục và mẫu dưới dạng đối số dòng lệnh.

Mẫu xem trước-sau đó thực thi:

📍 Nơi dán: Mở ChatGPT (chat.openai.com), Claude (claude.ai) hoặc Gemini (gemini.google.com) và bắt đầu một cuộc trò chuyện mới.

📋 Cách sao chép prompt này: Nhấp vào bất kỳ đâu bên trong khối màu xám, nhấn Cmd+A rồi Cmd+C (Mac) hoặc Ctrl+A rồi Ctrl+C (Windows). Hoặc sử dụng biểu tượng sao chép xuất hiện.

 
# This pattern applies to ALL destructive automation
changes = []
for file in folder.glob("*"):
    new_name = generate_new_name(file)
    changes.append((file, new_name))

# Preview
for old, new in changes:
    print(f"  {old.name} → {new.name}")

# Confirm
if input("Proceed? (y/n): ").lower() == "y":
    for old, new in changes:
        old.rename(new)

 

✏️ ​​Cách điền thông tin chi tiết của bạn: Thay thế mỗi [] và trình giữ chỗ trong ngoặc bằng thông tin cụ thể từ tình huống thực tế của bạn. Thông tin đầu vào mơ hồ sẽ tạo ra kết quả đầu ra mơ hồ — hãy cụ thể.

👀 Những gì bạn sẽ thấy: Trong vòng vài giây, AI sẽ trả về một phản hồi có cấu trúc dựa vào prompt ở trên. Hãy đọc kỹ và coi đó là bản nháp, không phải câu trả lời cuối cùng.

📌 Nên làm gì với kết quả: Lưu phản hồi vào một file Notes. Chọn gợi ý có hiệu quả cao nhất và thực hiện nó trong tuần này — đừng cố gắng làm tất cả cùng một lúc.

⚠️ Nếu kết quả không ổn: Nếu các gợi ý có vẻ chung chung, hãy dán nội dung sau: "Hãy cụ thể hơn với ngữ cảnh thực tế của tôi. Bỏ qua những lời khuyên chung chung." Nếu nó bỏ qua các chi tiết quan trọng bạn đã cung cấp, hãy hỏi: “Bạn đã bỏ sót [X] trong ngữ cảnh của tôi — hãy thực hiện lại với điều đó làm ràng buộc chính.”

Script 3: Sao lưu tự động

Prompt AI:

 
Viết một script Python để sao lưu một thư mục được chỉ định vào một thư mục đích có định dạng: backup_YYYY-MM-DD_HHMMSS/. Bao gồm: (1) Chỉ sao chép các file đã được sửa đổi kể từ lần sao lưu cuối cùng (sao lưu tăng dần), (2) Bỏ qua các file khớp với các mẫu trong file .backupignore (như .gitignore), (3) In tóm tắt: các file đã sao chép, tổng kích thước, thời gian đã trôi qua, (4) Tùy chọn nén bản sao lưu thành file .zip. Sử dụng shutil cho các thao tác file và argparse cho những đối số dòng lệnh.

Các mẫu tự động hóa file thiết yếu

MẫuThời điểm sử dụngVí dụ

Chế độ Dry-run

Bất kỳ script nào sửa đổi fileXem trước những gì sẽ xảy ra trước khi thực thi

Ghi nhật ký

Các script xử lý nhiều fileFile nhật ký CSV ghi lại mọi thao tác để khắc phục sự cố

Lỗi tiếp tục

Thao tác hàng loạt

try/except mỗi file, đừng dừng lại khi chỉ gặp một lỗi

Xử lý trùng lặp

Di chuyển/sao chép fileThêm _1, _2 hoặc dấu thời gian để tránh ghi đè

Khả năng hoàn tác

Đổi tên các thao tácLưu lại ánh xạ cũ→mới để sử dụng cho thao tác đảo ngược

Kiểm tra nhanh: Script của bạn cần xử lý một file có tên là my résumé (final).pdf — hãy chú ý đến dấu nhấn, khoảng trắng và dấu ngoặc đơn. Thư viện pathlib có xử lý đúng cách không?

Câu trả lời: Có, pathlib xử lý các ký tự Unicode, khoảng trắng và ký tự đặc biệt một cách chính xác trên tất cả mọi hệ điều hành. Lỗi thường gặp là sử dụng phép nối chuỗi thay vì toán tử / của pathlib: Path(folder) / filename xử lý các ký tự đặc biệt một cách an toàn, trong khi phép nối chuỗi f-string có thể không thoát đúng cách trên tất cả mọi nền tảng.

Bài tập thực hành

  1. Dễ: Viết một script tìm tất cả các file lớn hơn 100MB trong một thư mục và liệt kê chúng được sắp xếp theo kích thước

  2. Trung bình: Viết một script giám sát một thư mục và tự động sắp xếp các file mới khi chúng xuất hiện (sử dụng time.sleep() để kiểm tra mỗi 5 giây)

  3. Thử thách: Viết một script tìm các file trùng lặp bằng cách so sánh file hash (không chỉ tên) và di chuyển những file trùng lặp vào thư mục "Duplicates"

Prompt AI cho bất kỳ bài tập nào:

 
Viết một script Python để [MÔ TẢ NHIỆM VỤ]. Sử dụng pathlib cho các thao tác file. Bao gồm: xử lý lỗi cho từng file, tóm tắt những gì đã thực hiện và chế độ chạy thử. Cho phép chạy script từ dòng lệnh bằng argparse.

Những điểm chính cần ghi nhớ

  • Luôn bao gồm chế độ chạy thử trong các script tự động hóa file — xem trước những gì sẽ xảy ra trước khi thực thi sẽ bảo vệ bạn khỏi mất dữ liệu ngoài ý muốn và cho phép bạn xác minh hành vi của script trong các trường hợp ngoại lệ như tên file trùng lặp, ký tự đặc biệt và file không có phần mở rộng.

  • Sử dụng pathlib (không phải os.path) cho các thao tác file hiện đại, dễ đọc — nó coi đường dẫn là đối tượng, tự động xử lý khả năng tương thích đa nền tảng và tạo ra code dễ đọc như tiếng Anh (path.suffix, path.stem, path.parent).

  • Kiểm tra các script file trên một bản sao nhỏ trước khi chạy trên dữ liệu thực — 20 file thử nghiệm sẽ không tiết lộ những trường hợp ngoại lệ ẩn trong 3.000 file thực, vì vậy hãy tiến hành qua chế độ chạy thử → kiểm tra trên bản sao → thực thi thực để phát hiện sự cố một cách an toàn.

Nguồn tin: Quantrimang.com

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

  Ý kiến bạn đọc

THỐNG KÊ TRUY CẬP
  • Đang truy cập90
  • Máy chủ tìm kiếm11
  • Khách viếng thăm79
  • Hôm nay7,812
  • Tháng hiện tại148,305
  • Tổng lượt truy cập16,123,776
QUẢNG CÁO
Phan Thanh Phú
Quảng cáo 2
Liên kết site
Đăng nhập Thành viên
Hãy đăng nhập thành viên để trải nghiệm đầy đủ các tiện ích trên site
Thăm dò ý kiến

Bạn thấy Website cần cải tiến những gì?

Lịch Âm dương
Máy tính
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây