Python Os Modül Kullanımı - Otomasyona Çevirin

AgarthaSec

Katılımcı Üye
3 Şub 2012
654
90
𐱅𐰇𐰼𐰜

Python Os Modülü Nasıl Kullanılır?​

7mfc0cb.png


Merhabalar, bugün sizlere Python modüllerinden olan os modülünü anlatacağım. Nedir bu os modülü? Os Modülü içerisine uçbirim arayüzünde(terminal,cmd) kodlar ile yaptığımız işlemleri bizim için otomatik hale döken bir modüldür. Öyle ki ben bu modüle “Minik Bash Script” diyorum. El ile tek tek uğraşmak yerine bu modül sayesinde işlemlerinizi otomatik hale getirebilirsiniz.

os.system() uçbirim kısmına yazdığımız komutları bizim için otomatik olarak çalıştırır. Bir örnek vermek gerekir ise:

UI85zG.png



Çıktısı:

lGgwkX.png


Bende kütüphane daha önce yüklü olduğu için “already” diyor. Kurulu değil ise sizin bilgisayarınıza kuracaktır. Peki bunu direkt olarak uçbirim açarak sadece “pip install django” yazarak yapmak daha kolay değil mi diyebilirsiniz. Fakat asıl işlem burada başlamakta. Örnek vermek gerekir ise her format sonrası kütüphaneleri bu şekilde tek tek kurabiliriz. Peki birden fazla kütüphane kurmak ister isek? İşte burada devreye bu komut giriyor. Şöyle ki: Öncelikle bir liste oluşturalım ve listemiz içindeki tüm kütüphaneleri yükleyelim.


D4moAm.png



Burada ne yaptık, oluşturduğumuz listemiz içinde for ile tüm listeyi gezip her bir elemani pip install komutu ile birleştirerek otomatik olarak yüklemesini sağladık. Her kütüphane yükleme işlemi bittiğinde ise bize “İsimli Kütüphane Yüklendi” diye bir çıktı verdi. İşte os.system komutu ile bunları yapmak bu kadar basit. Şimdi yavaş yavaş diğer komutlarımıza geçelim.

os.name() python kodumuzu çalıştırdığımız işletim sisteminin bilgisini verir ve bu şekilde sisteme uygun komutların çalışmasını sağlayabiliriz. Windows ise “nt” Linux ise “posix” olarak çıktı verir. Örneğin:

76xtHf.png



Çıktısı:

A0KBac.png



os.mkdir, os.chdir, os.startfile bu komutlarımızı tek bir seferde anlatma sebebim üçünü birden tek bir kod parçası ile gösterecek olmam. Bunlar ne ise yarar; os.mkdir yeni bir klasör oluşturur, os.chdir bir klasöre gitmemizi sağlar ve os.startfile ise varolan bir programı açmamızı sağlar, görelim:

hsmpck.png


Çıktısı:

lZKkJo.png



Bazen daha önce klasör orada olduğu için bize “Halen varolan bir dosya oluşturulamaz: ‘Deneme‘ diye hata verebilir bunu da çözmek için:

p70maI.png



Ayrıca chdir komutu içerisine parantez ile klasörün nereye açılacağını da söyleyebiliriz. ** os.listdir() bulunduğumuz dizin(klasör) içerisinde yer alan dosyalarımızın listesini bize verir. Az önce öğrendiğimiz komutlar ile birleştirerek bu komutu da görelim:


61lF45.png



Çıktısı:

zGHF4N.png



Bu şekilde Deneme klasörü altına 4 adet text dosyası açıp hepsini listelemiş olduk.

os.rename(), os.remove(), os.rmdir() rename adından anlaşılacağı üzere dosyanın adını değiştirir mesela os.rename(“Deneme”,”Yeni Deneme”) gibi. Remove ise içerisine girilen klasörü silecektir, rmdir ona benzer fakat içerisine girilen klasör “boş” ise siler.

os.removedirs() çok sevdiğim bir komuttur içine girilen parametrelerdeki dizinler altından boş olanları siler mesela iç içe klasörlerimiz var ve arama yaptırıyoruz onun için şu şekilde kullanılır:

iPp3x0.png



Boş olan dizinleri silecektir. Bu yazıda OS modülü nasıl kullanılır görmüş olduk. Bu kadar fonksiyon ile kalmıyor bu modül elbette. Diğer modüllere bakmak ve kullanmak için ise:

Nyz00A.png


kullandığınız IDE'ye göre değişecektir. Ben Thonny kullanıyorum. Spyder ile sadece dir(os) demeniz yeterli olacaktır. Çıktısını buraya yazamıyorum çok fazla modül var tek tek deneyerek bunlara ulaşabilirsiniz. Modül isimleri İngilizce olduğu için anlamakta zorluk çekmezsiniz.İyi çalışmalar.


du3azgg.png
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.