Ana içeriğe atla

Kayıtlar

python etiketine sahip yayınlar gösteriliyor

Python Selenium İçin Firefox Driver'ı Headless Olarak Kullanmak

Merhaba arkadaşlar. Uzun bir aradan sonra tekrar yazmaya başladım :) . Okul dersleri, sınavlar derken çok şükür daha serbest olduğum bir dönemdeyim. Geçenlerde bir web sitesinden verileri çekmem gerekti ve bunu normal kütüphane ve modüller ile yapamayacağımı anlayınca selenium kullanmaya karar verdim. Çünkü, verileri çekeceğim web sitesinde sayfa dinamik olarak yükleniyordu ve javascript kodlarının yorumlanmasını gerektiriyordu. Selenium ile bu web sitesinin verilerini düzgün bir şekilde alabiliyoruz. Ben bu işlem için Firefox Driver kullandım, yani geckodriver. Ancak her seferinde Firefox penceresinin açılıp verilerin çekilmesi hiç hoş değil. Bunun için headless olarak kullanabileceğimiz bir seçenek sunulmuş. Python'da bunu yapmak kolay.

Python Subprocess

subprocess modülü, yeni bir process oluşturmayı sağlayan, bunların girdi-çıktılarını ele alma imkânı veren ve dönüş kodlarını almayı sağlayan bir modüldür. Yani daha basit bir şekilde, program içinde program çalıştırmaya imkan veren bir modüldür. Subprocess Modülünün Kullanımı subprocess basit bazı process'leri kullanmak için birkaç tane fonksiyon sunuyor. Daha karmaşık bir process çalıştırmak isterseniz, Popen sınıfını kullanabilirsiniz. Bunlara detaylı bir şekilde değinmeye çalışacağız. Şimdi basit fonksiyonları inceleyelim

Python Sınıflar

Merhaba arkadaşlar. Bu yazıda sınıfın ne olduğunu ve Python'da bir sınıfı nasıl tanımlayacağımızı anlatmaya çalışacağım. Yazıdan daha verimli yararlanmanız için, Python temelinizin olmasında fayda var. Öyleyse başlayalım :) Öncelikle bir sınıfın ne olduğundan bahsedelim. Bir sınıf, aynı amaca hizmet eden değişkenlerin ve fonksiyonların(metotların) birarada tutulmasıdır. Yani bir takım işlemler yapıyorsak ve bu işlemle ilgili tanımladığımız değişkenler ve metotlar birbiriyle ilişkiliyse, bunları bir sınıf yapısı altında tutmak gerekir.

Bubble Sort Algoritması

Bubble sort algoritması, ardışık iki veriyi sıra ile birbiri ile karşılaştırır. Yani, önce ilk ikiyi veriyi karşılaştırır, sonra ikinci ve üçüncü elemanı karşılaştırır. Eğer önde olan eleman, önceki elemandan küçükse yer değiştirme yapılır. Aşağıda, bu algoritmanın çalışma mantığını gösteren ufak bir gif var

Python argparse modülü

Merhaba arkadaşlar. Komut ekranı ile çok uğraşan biriyseniz, argümanların ne kadar önemli olduğunu çok iyi bilirsiniz. Öyle ki, bir programı her defasında farklı modlarla,farklı sonuçlar üretecek şekilde başlatabilirsiniz. Ancak argümanları nasıl kontrol edeceğimizi bilmezsek, kullanışlı bir program ortaya koyamayız. Kontrol etmek için kendi yöntemlerimizi kullanabiliriz, ancak hazır olan kütüphaneler dururken tekrar tekerleği icat etmeye gerek yok. O yüzden, bugün burda Python içerisinde hazır olarak bulunan argparse kütüphanesini nasıl kullanacağımızdan bahsedeceğiz.

Python psutil kütüphanesi - 2

Merhaba arkadaşlar. Psutil kütüphanesi için kaleme aldığımız yazı serisine kaldığı yerden devam ediyoruz. Bugün ki yazımızda, psutil kütüphanesini kullanarak, bilgisayarımızda bulunan diskleri inceleyeceğiz. Bunun için, öncelikle psutil kütüphanesini import edelim. Nasıl kurulduğunu bir önceki yazımızda anlatmıştık. Dolayısı ile tekrar anlatmıyorum. Şimdi, import ettikten sonra, diks_partitions() fonksiyonu ile bilgisayarda bulunan diskleri, bazı bilgiler ile birlikte liste halinde elde ediyoruz

Python İle Bir Komutun Çıktısını Almak

Merhaba arkadaşlar. Python ile bir komut çalıştırdığımız zaman, bunun çıktısını almayı göstereceğim. İlk olarak, os.system(komut) ile sistemde komut çalıştırdığımızı biliyoruz. Ancak bu komut sadece çalışır. Bize hiçbir şekilde çıktısı geri gelmez. Eğer Çıktıyı almak ve bir değişkene aktarmak istersek(eğer çıktısı olan bir komutsa), subprocess modülünü kullanabiliriz. Bir örnek yapalım

Python Curses Modülü

Hepimiz yazdığımız programların görsel olarak güzel olmasını isteriz. GUI programlama yaparken alternatif çokken, konsol ekranında pek alternatifimiz yoktur genelde. Ancak bazı modüller yardımı ile, terminal ekranını kendimize göre değiştirebiliriz. Bunlardan birisi de curses modülüdür. Curses modülü ile, pencerenin istediğimiz kısmına yazı yerleştirebilir, klavye hareketlerini algılayabilir, tek yada daha fazla karakterli verileri terminalin istediğimiz kısmında alabilir ve saymadığım daha birçok şeyi yapabiliriz. Kurulum için, eğer sisteminizde pip varsa, pip yardımı ile aşağıda vereceğim adresten .whl dosyasını indirip kurabilirsiniz.

Python psutil kütüphanesi-1

Python, kütüphane bakımından zengin bir dildir. Sorununuza çözüm ararken, daha önce adını duymadığınız bir kütüphane ile karşılaşabilirsiniz. Sizin için yorucu olan tüm işlemler, bu kütüphanede düzgün bir şekilde biraraya getirilmiştir. Böylece siz de, tekerleği tekrar icat etmekten kurtulursunuz. Python'da derin sistem işlemleri yapmak, işlemci hakkında bilgi almak,yönetmek,sistem hakkında detaylı bilgi almak gibi işlemleri yapabilmek için psutil kütüphanesi yazılmıştır. Aslında bundan daha fazlasını da içeriyor ancak, burada hepsinden bahsetmeyeceğiz. adece kısa kısa bilgiler vererek, nasıl kullanılacağına dair bilgi vereceğiz. Öyleyse başlayalım.

Python'da Sınıfları Birbirine Eklemek

Merhaba arkadaşlar. Bugünkü yazımızda, Python da iki veya daha fazla sınıfı + operatörü ile birbirine eklemeyi anlatacağım.  Bildiğiniz gibi Python, nesne yönelimli bir dil. Bu yüzden gerçek hayatta kullandığımız nesneleri modelleyerek programlama içerisinde kullanmamıza imkan sağlıyor ya da bu durum için oldukça uygun diyelim. Elimizdeki nesneleri, diğer oluşturduğumuz nesneler ile toplayabiliriz,iki nesnenin özelliklerini birbirine ekleyebiliriz yani. Bu duruma, operator overloading deniliyor, yani operatorün üzerine yazmak.

Python Soket Programlama

Merhaba arkadaşlar. Bugün sizlerle birlikte Python'da socket programlama yapacağız. Bunun için Python da socket kütüphanesini kullanacağız. Peki nedir bu socket programlama? Soket programlama, sizin iki program arası yada iki bilgisayar arası iletişim kurmanızı sağlar. İşte bizde bugün iki programımızı birbiri ile haberleştireceğiz. Bunun için elimizde iki program olacak. Birinci program,mesaj bekleyen program olacak, diğeri ise mesaj gönderen program.

Python Gömülü Fonksiyonlar-round()

round() fonksiyonu, küsuratlı sayıları yukarı yada aşağı yuvarlamak için kullanılır. Aynı zamanda hassaslık ayarı da yapılabilir. Örnek: >>>round(1.2) 1 >>>round(9.9) 10 Örnekte de görüldüğü gibi round() fonksiyonu, bir küsuratlı sayıyı, kendisine en yakın olan bir tam sayıya doğru tamamlar. Peki, ikisinin tam ortası olursa ne olur?

Python Gömülü Fonksiyonlar-map()

Python, bizler için bazı işleri kolaylaştıran fonksiyonları hazır olarak kendi içinde paketlemiş ve programcıların kullanımına sunmuştur. Bizde bu yazı serisinde, Python içinde gömülü olarak bulunan,yani import etmeye gerek olmadan kullanılabilen fonksiyonları, elimizden geldiğince anlatmaya çalışacağız. Hadi başlayalım :) # map() fonksiyonu map() fonksiyonu, elimizdeki listenin elemanlarını teker teker, bizim belirlediğimiz fonksiyona parametre olarak göndermek için kullanılabilir. Genel yapısı şöyledir map(fonksiyon_adı,liste) Bir örnek yapalım ki, pekiştirmiş olalım. Diyelimki elimizde bir liste var ve bu listede kelimeler var. Biz bu listedeki kelimelerin ilk harflerini büyük yapıp yeni bir liste oluşturalım.

Pyhon İleri Fonksiyonlar - Lambda

Eğer Python'da belli bir seviyeye geldiyseniz, artık biraz daha derin ve pratik konuları öğrenmeninde zamanı gelmiştir. Çünkü programlama tecrübesi kazandıkça işleri daha kısa sürede yapabilecek yapıları da bilmek önemlidir. İşte bunlardan biri de lambda'dır. Lambda, bizim herhangi bir yerde tek satırlık fonksiyonlar oluşturmamızı sağlar. Mesela iki sayıyı toplayan bir fonksiyonumuz olsun. >>>def topla(sayi1,sayi2): ... return sayi1+sayi2 Bu fonksiyonu lambda ile yazarsak;

Python Kütüphaneleri

Python ile programlama yaparken, uzun işleri bizim için kısaltan ve daha iyi kullanım imkanı sağlayan kütüphaneler mevcut. Bunları yeri geldikçe buraya ekleyeceğim . Ayrıca dökümanlar ingilizce. Eğer bulabilirsem Türkçe kaynak linkini de atarım 1) mechanize Python mechanize kütüphanesi, bir siteye bağlantı yapar ve site üzerinde işlem yapmaya imkan verir. Yani bir browser gibi davranır. Yalnız şunu belirtmekte fayda var. mechanize kütüphanesi python2 destekliyor. Python3 için alternatif olarak selenium veya robobrowser kütüphanesine bakılabilir. İndirmek için