Merhaba. Üsttekiler inputlarımız zaten bu kütüphaneleri teker teker inceleyebilirsiniz ama yine de anlatayım.
sys
kütüphanesi zaten adından da anlaşılacağı gibi sistem bileşenlerine erişmemizi sağlar.
os
kütüphanesi yine SYS kütüphanesi gibi çalışır ve Sistem'e erişimimizi sağlar.
subprocess
kütüphanesi ise genellikle komut satırında yapılan işlemleri Python üzerinde yapmayı sağlar.
Burada
subprocess.call()
ile komut istemi üzerinden işlem yapıyormuş gibi işlemi başlatırız.
Normale Python yani .py uzantılı dosyaları, Python yorumlayıcımızın yolunu yazarak sonrasında ise dosyamızın yolunu yazarak çalıştırabiliriz. O zaman bizim bunu Python içerisinde de yapmamız gerekiyor.
sys.executable
mevcut yorumlayıcının yolunu döndürür.
Yorumlayıcının ardından dosyamızın yolunu almamız gerekiyor. Bunun için de
os.path.realpath(__file__)
kullanmalıyız. Buradaki önemli olan
__file__
'dir. Normale bu argüman da dosyanın yolunu getirir fakat bunu komut istemi anlayamaz.
os.path.realpath()
ise bizim için bunu sistem içerisinden bulur ve komut isteminin anlayacağı biçime getirir.
Burada
+ sys.argv[1:]
tamamen opsiyonel bir eklemedir. Tam olarak bilmediğim için çok derin giremeyeceğim.
sys.argv[0]
çalışılan dosyanın adını döndürür.
sys.argv[1:]
ise 1 ve sonrasını al demektir. Array listelerde bunu çokça kullanırız. 1 ve sonrasında yine argümanlar bulunabiliyor fakat tam olarak ne işe yaradıklarını bilmediğim için yardımcı olamayacağım.
Python yeni öğreniyorsanız ilk başlarda bunu öğrenmeniz pek mantıklı değil aslında. Öncelikli olarak temelleri öğrenmeniz sizin için daha iyi olur. Sonrasında birkaç basit kütüphane kullanımı öğreniminin ardından tekrar buraya gelip bakarsınız. Şimdilik sadece kopyala yapıştır en iyisi