Rehber Python'da EXE dosyasına parametre ekleme

Katılım
6 Haziran 2016
Mesajlar
1.166
Makaleler
8
Çözümler
4
Yer
KAHRAMANMARAŞ
Daha fazla  
Cinsiyet
Erkek
Meslek
Yazılımcı
Herkese tekrardan merhaba sayın Technopat ailesi. bugün sizlere Python programlama dili ile kodladığınız uygulamanıza nasıl parametreli işlemler ekleyebileceğinizi anlatacağım. Öncelikle bu parametreler nedir ve ne amaçla kullanılır onları cevaplayalım.

Parametreler aslında programınızda normalde butona tıklayarak yapılması gereken işlemleri uygulamayı açarken çeşitli kodlarla bu işlemleri yaptırmamızı sağlayan argümanlardır. Bunların kullanımı özellikle büyük ölçekli programlarda oldukça fazladır. Örnek olarak bilgisayarımıza yazılım kurmamızı sağlayan programları gösterebiliriz (setup programlarından bahsediyorum). Bunların hem içindeki yazılımda hem de kendisinde parametre bulunabiliyor. Örnek olarak Inno Setup Maker kullanılarak hazırlanan bir kurulum programını /VERYSILENT parametresiyle açarsanız silent yani katılımsız bir kurulum gerçekleştirecektir. Dilerseniz bunu Python ile nasıl yapacağınızı anlatayım.

Öncelikle yazılımıza optparser modülü içindeki OptionParser isimli sınıfı dahil etmemiz gerekiyor. Ardından bu sınıfın özelliklerini de almamız ve kalıtımla bir değişkene atamamız gerekiyor. Ayrıca ben yazılımın ana modülünü de kontrol etmemiz gerekiyor. Bunların kod hali ise:
[CODE lang="python" title="Parametre Kodlar 1.bölüm"]from optparse import OptionParser


if __name__ == '__main__':
parser = OptionParser()[/CODE]

Ardından parser isimli değişkenimizle bir parametre eklememiz gerekiyor. Bunu da şu şekil yapıyoruz:
[CODE lang="python" title="Parametre Kodları 2.Bölüm"]from optparse import OptionParser

if __name__ == '__main__':
parser = OptionParser()
parser.add_option('-u','--unzip',dest = 'arc',help = 'ST UnZipper By Murtaza SARITÜRK')

(archive,args) = parser.parse_args()

[/CODE]

Yukarıdaki kodu tanımlayacak olursak değişkenimizi kullanarak bir parametre ekledik. Ben bir Unzipper yani zip dosyasındaki dosyaları dışarı çıkartacak program yazıyorum. Siz nasıl istiyorsanız ona göre yapabilirsiniz. parser.add_options kısmını özetleyecek olursak eğer -u ve --unzip isimli iki parametre oluşturduk (burada dikkatinizi çekerim ikinci kısımda tanımlarken --parmetre şeklinde iki tire ile tanımlanır). İlk parametremizi -u olarak tanımladık ve ondan sonra gelen metinleri yani uygulamayı açarken -u parametresi gelirse o parametreden sonra gelen her değer arc isimli bir değişkende tutulacak. --unzip'in kullanımı ise daha farklı. Burada eşittir ile tanımlamak gerekiyor. Yani --unzip=arsiv_Adi.zip şeklinde kullanırız. bundan sonra ise bir fonksiyon yazma ve o fonksiyona gerekli argümanları gönderme var. Dilerseniz onun önce kodunu göstereyim ardından ise açıklayayım:
[CODE lang="python" title="Programın Bütün Kodları"]from optparse import OptionParser
from zipfile import ZipFile

def unzip(archive = None):
if archive:
with ZipFile(parser.arc) as arsiv:
arsiv.extractall()
print('İşlem Tamamlandı!')

if __name__ == '__main__':
parser = OptionParser()
parser.add_option('-u','--unzip',dest = 'arc',help = 'UnZipper')

(archive,args) = parser.parse_args()

unzip(archive)
[/CODE]

Yukarıda programın son halini bıraktım. fonksiyonun tamamını açıklamak gibi bir niyetim yok. Sadece konumuzu ilgilendiren kısmı anlatacağım. Öncelikle unzip isimli bir fonksiyon oluşturduk ve bu fonksiyona parametre var mı yok mu anlamak için parser argümanlarımızı gönderdik. Ardından if-else yapısıyla argüman var mı yok mu diye kontrol ettik. Eğer var ise buna göre işleminizi if yapısının true kısmına yazabilirsiniz. Tabii ki bir de değişkene erişmeniz gerekiyor. ben arc isimli bir değişkene göndermek istediğim için parser.arc yazarak değişkene erişebiliyorum. Siz kendi değişkeninize göre ayarlamalısınız. Evet, tüm olay bu kadar. Sormak istediğiniz soruları cevap olarak yazabilirsiniz. Elimden geldiğince cevaplamaya çalışacağım.
 
Son düzenleyen: Moderatör:

Yeni konular

Geri
Yukarı