@Andy Hayden đã trình bày tổng quan tốt về autopep8. Thêm vào đó, có một gói nữa được gọi là pep8ify cũng thực hiện điều tương tự.
Tuy nhiên, cả hai gói chỉ có thể loại bỏ các lỗi xơ vải nhưng chúng không thể định dạng mã.
little = more[3: 5]
Đoạn mã trên vẫn giữ nguyên sau khi pep8zing. Nhưng mã có vẻ chưa tốt. Bạn có thể sử dụng các định dạng như yapf , sẽ định dạng mã ngay cả khi mã tuân thủ PEP8. Đoạn mã trên sẽ được định dạng thành
little = more[3:5]
Đôi khi điều này thậm chí phá hủy định dạng thủ công của bạn. Ví dụ
BAZ = {
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]
}
sẽ được chuyển đổi thành
BAZ = {[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]}
Nhưng Bạn có thể bảo nó bỏ qua một số phần.
BAZ = {
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]
} # yapf: disable
Lấy từ bài đăng trên blog cũ của tôi: Tự động PEP8 & Định dạng mã Python của bạn!