Komut dosyalarımı Ubuntu'nun terminalinden düzenli olarak nasıl çalıştıracağımı öğrenmeye çalışıyorum. Bununla birlikte, aşinayım bash
, wget
, ve awk
çağrılıyor ancak terminalde çalıştırmak için python dosyalarını nasıl arayabilirim? Bunu öğrenmek istiyorum ama nerede araştıracağımdan emin değilim. Benim var .pyw
birden çok dosyaya başvuran dosya .py
bir klasördeki dosyalar.
Seçenek 1: Tercümanı arayın
- Python 2 için:
python <filename>.py
- Python 3 için:
python3 <filename>.py
Seçenek 2: Komut dosyasının yorumlayıcıyı çağırmasına izin ver
- Dosyanızın ilk satırının olduğundan emin olun
#!/usr/bin/env python
. - Çalıştırılabilir hale getirin -
chmod +x <filename>.py
. - Ve bunu şu şekilde çalıştır
./<filename>.py
Sadece komut dosyasının dosya adını önek python
. Örneğin:
python filename.py
Ayrıca şunu da belirtmekte fayda var: -i
bayrak sonra python
daha fazla kodlama için oturumunuzu çalışır durumda tutabilirsiniz. Bunun gibi:
python -i <file_name.py>
python <filename.py>
pyw'nin de aynı şekilde çalışması gerektiğini düşünüyorum. Ayrıca etkileşimli bir konsolu sadece
python
Ayrıca, betiğin üstüne bir shebang ekleyerek python'u açıkça çağırmak zorunda kalmaktan kaçınabilirsiniz:
#!/usr/bin/env python
... veya bunların herhangi bir sayıda varyasyonu
İlk önce aşağıdaki komutu çalıştırın
chmod +x <filename>.py
Ardından komut dosyasının en üstüne ekleyin #!
ve Python yorumlayıcısının yolu:
#!/usr/bin/python
Komut dosyasının Python yorumlayıcısının yaşadığı yerden bağımsız olmasını istiyorsanız, aşağıdakileri kullanabilirsiniz: env
program. Hemen hemen tüm Unix varyantları, Python yorumlayıcısının kullanıcının dizinindeki bir dizinde olduğunu varsayarak aşağıdakileri destekler $PATH
:
#! /usr/bin/env python
Dizinleri kullanarak değiştirme cd
.py içeren dizine gidin ve aşağıdaki iki komuttan birini çalıştırın:
python <filename>.py # for Python 2.x python3 <filename>.py # for Python 3.x
Alternatif olarak aşağıdaki iki komuttan birini çalıştırın:
python /path/to/<filename>.py # for Python 2.x python3 /path/to/<filename>.py # for Python 3.x
Komutu kullanmayı deneyin python3
yerine python
. Komut dosyası Python3'te yazılmışsa ve Python2 ile çalıştırmayı denerseniz, sorun yaşayabilirsiniz. Ubuntu'da her ikisi de var; program adını değiştirme python3
(değiştirmek yerine python
) bunu mümkün kıldı. Ubuntu'nun v2.7'ye ihtiyacı var (2/16/2017 itibariyle), bu yüzden Python2'yi silmeyin veya kaldırmayın, ancak ikisini de saklayın. Her ikisini de çalıştırabilen komut dosyalarını çalıştırmak için Python3'ü kullanmayı alışkanlık haline getirin.
Diferansiyel durum şu şekildedir, çünkü orijinal başlık da dahil olmak üzere çok geneldir - çağırmak için terminalde python betiğini çalıştırma hakkında
bir işlev Running python functions from terminal - Stack Overflow