Arkadaşlar bi tane python scriptim var . Mesela vim kullanıyorsanız direk vim 123q.py yazıyorsunuz . Vim o dosyayı açıyor . Buna galiba kernel modülü deniyor . Mesela scriptin adı toplama.py . Ben bunu bu kernel modülü olayıyla şöyle yaptım : toplama 2 5 yaptım . Sonrada bana 7 çıktısını verdi . Bunu nasıl yapabilirim ?
vim 123q.py 'ı terminale yazıyorsunuz
Terminale ne yazdınız? Biraz daha ayrıntılı bilgi verir misiniz?
Hayir, “komut satiri parametresi” (command line parameter) veya benzeri bir sey deniyor. “Ekran karti surucusu” olacak dusunebilecegin kernel modulleriyle hic bir alakasi yok.
Burada kafa karistiran iki sey var:
Birincisi: vim orneginde python script’i parametre, toplama orneginde python script’i program. Ikinci ornekteki python script’i ilk ornekteki python script’ine degil de vim’e benzetiliyor sanirim. Bu durumda ilk ornekteki parametreyi baska herhangi bir sey yapmak daha mantikli olurdu—vim hede.txt
denince vim o dosyayi aciyor.
Ikincisi ise (düz) gecmis zaman kullanman. toplama 2 5
yaptin. Sonra da sana 7
ciktisini verdi. Bunu nasil yapabilirsin? Nasil yaptiysan o sekilde yapabilirsin.
“Mesela” veya “farz edelim” demeyi unuttugunu, toplama 2 5
yazinca 7
ciktisini almadigini, almak istedigini varsayarak:
hocam şimdi ben şunu istiyorum . deneme.py adlı scripti önce terminale deneme.py yazıp ondan sonra benden istediği parametreleri girmek değil de direk olarak terminalı açıp deneme 2 3 demek istiyorum
yeni gördüm ( 20 karakter saçmalığı )
Şu kodlara bakın lütfen:
test.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
if __name__ == "__main__":
import sys
if len(sys.argv) == 3:
print(int(sys.argv[1]) + int(sys.argv[2]))
~$ ./test.py 2 3
5
~$
Eğer test.py
’yi şu şekilde çalıştırmak istiyorsanız, şu başlığı bir ziyaret edin:
1 tane desktop
uzantılı bir dosya oluşturabilirsiniz. Programı ilk kez çalıştırdıktan sonra .desktop
uzantısı kaybolacak. Dosyaya ne isim verdiyseniz o kalacak. Diyelim bu desktop dosyasının ismi test
. Daha sonra bu test dosyasını ./local/bin
klasörünün içine atarsanız programı şu şekilde çalıştırabilirsiniz:
$ test 2 3