2010-12-27 22 views
85

Olası Çoğalt:
How can I check the syntax of Python script without executing it?Derleme (ama çalışmıyor) bir Python komut

Nasıl akmayan bir Python komut dosyası derleme? Sadece sentaks hataları için komut dosyasını kontrol etmek istiyorum. Basit bir komut satırı anahtarını umuyordum, ancak python --help'da hiçbir şey görmedim.

python -c "__import__('compiler').parse(open('test.py').read())" 

Bu Python için çalışır: Ben 3.

+0

@sukhbir: Haklısın, ama cevabı fark ettim ve bu iş parçacığında verilmiyor. – asmeurer

+0

@asmeurer: Evet, gönderdiğiniz mesajın cevabı budur. – Falmarri

+1

Derleme ve sözdizimi denetimi gerçekten farklı şeylerdir. Sen sözdizimi kontrol etmek istiyorsun, Cevap diğer iş parçacığında. Soruyu nasıl derlersiniz sorusu, hangi farklı bir soru, gerçekten konuyu değiştirmelisiniz. –

cevap

7

bir yolu (test.py için) böyle bir şey yapmaktır Python 2 ve Python her ikisi için bir yanıt istediğinizi 2 kere.

12

Bazı nadiren kullanılan koşullu branşta tanımlanmamış değişkenlere erişmek gibi sözdizimi hatalarını ve daha ince hataları bulmak için pylint kullanabilirsiniz.

297
python -m py_compile script.py 
+1

teşekkürler. Bu sadece harika! ve @Greg Hewgills versiyonundan çok daha kolay hatırlanabilir;) –

+4

Bu kabul edilen cevap olmalı. –

+0

Tam olarak ne için umuyordum - teşekkürler –