__pycache__là một thư mục chứa Python 3 bytecode được biên dịch và sẵn sàng để được thực thi .
Tôi không khuyên bạn nên thường xuyên xóa các tệp này hoặc ngăn chặn việc tạo trong quá trình phát triển vì nó có thể ảnh hưởng đến hiệu suất. Chỉ cần có một lệnh đệ quy sẵn sàng (xem bên dưới) để dọn dẹp khi cần vì mã byte có thể trở nên cũ kỹ trong các trường hợp cạnh (xem bình luận).
Các lập trình viên Python thường bỏ qua mã byte. Thật vậy __pycache__và *.pyclà những dòng phổ biến để xem trong .gitignorecác tập tin. Mã byte không có nghĩa là để phân phối và có thể được tháo rời bằng cách sử dụng dismô-đun .
Nếu bạn đang sử dụng OS X, bạn có thể dễ dàng ẩn tất cả các thư mục này trong dự án của mình bằng cách chạy lệnh sau từ thư mục gốc của dự án.
find . -name '__pycache__' -exec chflags hidden {} \;
Thay thế __pycache__bằng*.pyc Python 2.
Điều này đặt cờ trên tất cả các thư mục (tệp .pyc) thông báo cho Finder / Textmate 2 để loại trừ chúng khỏi danh sách. Điều quan trọng là mã byte ở đó, nó chỉ bị ẩn.
Chạy lại lệnh nếu bạn tạo các mô-đun mới và muốn ẩn mã byte mới hoặc nếu bạn xóa các tệp mã byte ẩn.
Trên Windows, lệnh tương đương có thể là (không được kiểm tra, tập lệnh bó được chào đón):
dir * /s/b | findstr __pycache__ | attrib +h +s +r
Điều này cũng giống như đi qua các thư mục ẩn dự án bằng cách nhấp chuột phải> ẩn ...
Chạy thử nghiệm đơn vị là một kịch bản (nhiều hơn trong các bình luận) trong đó việc xóa các *.pyctệp và __pycache__thư mục thực sự hữu ích. Tôi sử dụng các dòng sau trong tôi ~/.bash_profilevà chỉ chạy clđể dọn dẹp khi cần thiết.
alias cpy='find . -name "__pycache__" -delete'
alias cpc='find . -name "*.pyc" -delete'
...
alias cl='cpy && cpc && ...'