Hướng dẫn cp folder python - thư mục cp python
Trong các dự án phần mềm, không thể tránh được việc thao tác với file/folder vì bản chất các tập tin vẫn là loại thông dụng nhất để lưu trữ thông tin, đặc biệt là các file chứa cấu hình hệ thống, cấu hình phần mềm. Các ngôn ngữ lập trình đều cung cấp các thư viện, câu lệnh, các cách thức để thao tác với các đối tượng file và folder. Tuy nhiên, với nhiều lập trình viên (trong đó có cả tôi) thi thoảng vẫn tự tìm kiếm một số thao tác tưởng như đơn giản vô cùng để xử lý tệp tin. Show Ví dụ: Lấy đường dẫn tuyệt đối đến file cấu hình để truyền vào các controller thực hiện việc load cấu hình. Bài viết dưới đây sẽ liệt kê một số kỹ thuật hữu ích và thường gặp khi làm việc với file/folder trong Python. 1. Lấy thông tin đường dẫn đến file/thư mục.Khi làm việc với file/folder, các lập trình viên Python thường sẽ sử dụng lib có sẵn là os và path.Để lấy đường dẫn của thư mục hiện tại, chúng ta có thể tham khảo câu lệnh sau:
Với hệ điều hành Linux (hoặc các *UNIX khác):
Điều khác biệt giữa 2 hệ điều hành là dấu phân cách giữa các thư mục, file:Với Windows là dấu \ (backward slash, downward slash, and reverse solidus)Với Linux là dấu / (forward slash, upward slash and solidus) Đây là điều cần lưu ý với các lập trình viên khi thực hiện lập trình trên một hệ điều hành thông dụng như Windows và triển khai phần mềm trên một hệ điều hành khác (Ubuntu, CentOS, ...), phần đường dẫn đến file/folder phải có phần tùy chỉnh theo hệ điều hành. 2. Liệt kê danh sách các file/folder bên trong một thư mục.Để lấy danh sách file/folder của thư mục hiện tại, dùng function os.listdir().
Câu lệnh
3. Tạo mới một thư mụcĐể tạo mới một thư mục, sử dụng function
Để tạo thư mục mới bên trong thư mục 'code', cần sử dụng cách nối tên thư mục như ở trên.
Nếu thư mục đã tồn tại mà vẫn tạo lại thư mục, sẽ có lỗi xảy ra
--> Khi thực hiện tạo thư mục nên chú ý việc handler lỗi . FileExistsError và một số các lỗi khác liên quan đến File/Folder là subclass của nhóm lỗi OSError (https://docs.python.org/3.3/library/exceptions.html#os-exceptions), nên chúng ta có thể handler cả cụm lỗi.
4. Kiểm tra một file/thư mục có tồn tại hay không?Ở ví dụ dưới đây, trong thư mục hiện tại, chúng ta có thư mục 'code', không có file 'check_exist.py', kết quả kiểm tra như bên dưới
Tương tự, kiểm tra thư mục 'new_code_folder' có trong thư mục con 'code' hay không ?
Kiểm tra input vào có là folder?
Kiểm tra đầu vào có là file?
Nếu file/folder không tồn tại thì kết quả trả về là False
5. Xóa file/folder.Ví dụ dưới đây sẽ thực hiện xóa file có tên `20200925.txt` và folder có tên `new_folder`
6. Sao chép một file.Trong module os, cung cấp một function có tên popen để thực hiện copy file nhưng function này chạy trên Windows và Linux khác nhau.
Cá nhân tôi thường không sử dụng function này trong chương trình khi cần thực hiện copy/paste file. Tôi sẽ sử dụng module shutil kết hợp với os khi cần copy đến các đường dẫn sâu hơn.Có nhiều cách sử dụng để sao chép file bàng shutil, mỗi cách có một đặc điểm, kết quả khác nhau về metadata của file, các cách thức được mô tả tại đường dẫn: https://docs.python.org/3/library/shutil.html.args Thông thường, khi không cần quá chú trọng vào việc metadata, mà chỉ cần copy dữ liệu là đủ, chúng ta chỉ cần dùng lệnh shutil.copyfile
7. Đổi tên/Di chyển vị trí một file.Giống như lệnh mv của bash/shell thì module os hỗ trợ việc rename/move một file bằng cùng một lệnh: os.rename. Như ví dụ dưới đây, thực hiện đổi tên file 20200924.py thành 20200925.py
Di chuyển file sang thư mục khác.
Kết luận:Trên đây là một số lệnh Python cơ bản để làm việc với file/folder. Tôi hy vọng bài viết này sẽ đóng vai trò như một tài liệu tham khảo nhanh cho các bạn khi cần thiết. Ngoài module |