SORU
14 Ocak 2013, PAZARTESİ


Python kodu PEP8 dönüştürmek için aracı uyumlu

Yok an online service a python module Python kodunuzu örneğin PEP8 ile uyumlu olup olmadığını doğrulamak hangi araçlar olduğunu biliyorum.

Ancak, ben mümkün olmayan bir hizmet veya bir modül bulabilirsinizdönüştürmekbenim Python kendi kendine yeten, PEP8 geçerli bir Python dosyası için bir dosya. Eğer herhangi bir kimse varsa biliyor mu?
PEP8 kodu dış görünüşle alakalı olduğu için uygun değil sanırım?

CEVAP
14 Ocak 2013, PAZARTESİ


autopep8 kullanabilirsiniz! Kendine bir fincan kahve bu aracı yaptıktan buna rağmen mutlu bir değişiklik yok ki tüm bu sinir bozucu PEP8 ihlal kaldırıranlamkod.

Pip üzerinden yüklemek:

pip install autopep8

Belirli bir dosya için bu geçerli:

autopep8 py_file --in-place

veya proje (özyinelemeli olarak)ayrıntılı seçenek olacak bazı geribildirim verir:

autopep8 project_dir --recursive --in-place --pep8-passes 2000 --verbose

Not: Bazen varsayılan 100 geçer yetmez, ben set için 2000 olarak oldukça yüksek ve yakalamak ama en sıkıntılı dosyaları (durur geçtikten sonra bulduğu hiçbir çözülebilir pep8 ihlalleri)...

Bu noktada ve tekrar test yapmayı öneririm bir taahhüt!

Eğer isterseniz< . em^"" . tam PEP8 uygunluk: kullandığım bir taktik olarak yukarıdaki autopep8 çalıştırın, kalan ihlalleri yazdıran PEP8, (, satır numarası ve dosya) çalıştırın

pep8 project_dir --ignore=E501

ve bunlar elle tek tek değiştirmek (örneğin E712s - boolean ile karşılaştırıldığında).

Not: autopep8 mevcuttur --aggressive bağımsız değişken (acımasızca "düzeltme" bu anlam değiştiren ihlalleri), ama dikkat eğer agresif kullanmak gerekebilir hata ayıklama... (örneğin numpy/pandalar True == np.bool_(True) True is np.bool_(True)!)

Kaç her tür ihlalleri önce ve sonra () kontrol edebilirsiniz:

pep8 --quiet --statistics .

Not: E501s (satır çok uzun) muhtemelen kodunuzda bu bir sürü olacak kadar özel bir durum olduğunu düşünüyorum ve bazen bu autopep8 tarafından düzeltilmez.

Örnek olarak, 16 ** pandas kod tabanı tekniği.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ash100HD

    Ash100HD

    29 EKİM 2011
  • Capcom Unity

    Capcom Unity

    5 NİSAN 2010
  • mipd1980

    mipd1980

    25 EKİM 2006