Quản lý thư mục và tệp Python

Trong hướng dẫn này, bạn sẽ tìm hiểu về quản lý tệp và thư mục bằng Python, tức là tạo một thư mục, đổi tên nó, liệt kê tất cả các thư mục và làm việc với chúng.

Video: Mô-đun hệ điều hành Python

Thư mục Python

Nếu có một số lượng lớn tệp cần xử lý trong chương trình Python của chúng tôi, chúng tôi có thể sắp xếp mã của mình trong các thư mục khác nhau để giúp mọi thứ dễ quản lý hơn.

Thư mục hoặc thư mục là một tập hợp các tệp và thư mục con. Python có osmô-đun cung cấp cho chúng ta nhiều phương pháp hữu ích để làm việc với các thư mục (và cả tệp).

Nhận thư mục hiện tại

Chúng ta có thể lấy thư mục làm việc hiện tại bằng getcwd()phương thức của osmô-đun.

Phương thức này trả về thư mục làm việc hiện tại dưới dạng một chuỗi. Chúng ta cũng có thể sử dụng getcwdb()phương thức để lấy nó dưới dạng đối tượng byte.

 >>> import os >>> os.getcwd() 'C:\Program Files\PyScripter' >>> os.getcwdb() b'C:\Program Files\PyScripter'

Dấu gạch chéo ngược phụ ngụ ý một chuỗi thoát. Các print()chức năng sẽ làm điều này đúng.

 >>> print(os.getcwd()) C:Program FilesPyScripter

Thay đổi thư mục

Chúng ta có thể thay đổi thư mục làm việc hiện tại bằng chdir()phương pháp.

Đường dẫn mới mà chúng ta muốn thay đổi thành phải được cung cấp dưới dạng một chuỗi cho phương thức này. Chúng ta có thể sử dụng cả dấu gạch chéo lên /hoặc dấu gạch chéo ngược để tách các phần tử đường dẫn.

Sẽ an toàn hơn khi sử dụng trình tự thoát khi sử dụng dấu gạch chéo ngược.

 >>> os.chdir('C:\Python33') >>> print(os.getcwd()) C:Python33

Liệt kê các thư mục và tệp

Tất cả các tệp và thư mục con bên trong một thư mục có thể được truy xuất bằng listdir()phương pháp này.

Phương thức này nhận một đường dẫn và trả về danh sách các thư mục con và tệp trong đường dẫn đó. Nếu không có đường dẫn nào được chỉ định, nó sẽ trả về danh sách các thư mục con và tệp từ thư mục làm việc hiện tại.

 >>> print(os.getcwd()) C:Python33 >>> os.listdir() ('DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'Scripts', 'tcl', 'Tools') >>> os.listdir('G:\') ('$RECYCLE.BIN', 'Movies', 'Music', 'Photos', 'Series', 'System Volume Information')

Tạo một thư mục mới

Chúng ta có thể tạo một thư mục mới bằng mkdir()phương pháp này.

Phương thức này lấy đường dẫn của thư mục mới. Nếu đường dẫn đầy đủ không được chỉ định, thư mục mới được tạo trong thư mục làm việc hiện tại.

 >>> os.mkdir('test') >>> os.listdir() ('test')

Đổi tên thư mục hoặc tệp

Các rename()phương pháp có thể đổi tên một thư mục hoặc một tập tin.

Để đổi tên bất kỳ thư mục hoặc tệp nào, rename()phương thức này nhận hai đối số cơ bản: tên cũ làm đối số đầu tiên và tên mới làm đối số thứ hai.

 >>> os.listdir() ('test') >>> os.rename('test','new_one') >>> os.listdir() ('new_one')

Xóa thư mục hoặc tệp

Một tệp có thể được loại bỏ (xóa) bằng remove()phương pháp này.

Tương tự, rmdir()phương pháp loại bỏ một thư mục trống.

 >>> os.listdir() ('new_one', 'old.txt') >>> os.remove('old.txt') >>> os.listdir() ('new_one') >>> os.rmdir('new_one') >>> os.listdir() ()

Lưu ý : rmdir()Phương pháp chỉ có thể loại bỏ các thư mục trống.

Để loại bỏ một thư mục không trống, chúng ta có thể sử dụng rmtree()phương pháp bên trong shutilmô-đun.

 >>> os.listdir() ('test') >>> os.rmdir('test') Traceback (most recent call last):… OSError: (WinError 145) The directory is not empty: 'test' >>> import shutil >>> shutil.rmtree('test') >>> os.listdir() ()

thú vị bài viết...