Cevap çok açık değilse Bazen (hayır evet ya olmadığına karar anlamına), o zaman çok fazla önemli değil, cevap gelene kadar sorunu göz ardı edebilirsiniz olduğu açıktır.
#!
Tek amacı senaryoyu başlatılması içindir. Django kaynakları kendi başına yükler ve kullanır. Hangi tercümanın kullanılması gerektiğine asla karar vermek gerekmez. Bu şekilde, #!
aslında burada bir anlam ifade etmiyor.
Genellikle, bir modülse ve komut dosyası olarak kullanılamıyorsa #!
,. Öte yandan, bir modül kaynağı genellikle if __name__ == '__main__': ...
işlevselliğin en azından bazı önemsiz testlerini içerir. Sonra #!
yine mantıklı.
Kullanmanın iyi bir nedeni, #!
hem Python 2 hem de Python 3 komut dosyalarını kullandığınızda - bunların Python'un farklı sürümleri tarafından yorumlanması gerektiğidir. Bu şekilde, python
komut dosyasını manuel olarak başlatırken neyin kullanılması gerekmediğini hatırlamanız gerekir #!
. Bu tür komut dosyalarının bir karışımına sahipseniz, #!
iç kısmı kullanmak, yürütülebilir hale getirmek ve yürütülebilir olarak (chmod ...) başlatmak iyi bir fikirdir .
MS-Windows kullanırken, bir #!
anlamı yoktu - yakın zamana kadar. Python 3.3, #!
satırı okuyan, Python'un yüklü sürümlerini algılayan ve Python'un doğru veya açıkça istenen sürümünü kullanan bir Windows Python Başlatıcısı (py.exe ve pyw.exe) sunar . Uzantı bir programla ilişkilendirilebileceğinden, Windows'ta Unix tabanlı sistemlerde yürütme bayrağıyla benzer davranışa sahip olabilirsiniz.