1. Mario

    Python ile e-posta nasıl gönderilir?

    İlk paragrafta ana yanıtı, izlenecek yolu ve ulaşılabilecek sonucu doğrudan ver. SMTP sunucusunun adresi, portu, kullanıcı adı ve kimlik doğrulama bilgileriyle Python’un standart email ve smtplib modüllerini kullanarak e-posta gönderebilirsiniz. Güvenli bağlantı için sunucunun istediği yönteme...
  2. Mario

    Python ile bir API’den JSON verisi nasıl alınır?

    İnternet üzerindeki bir API’den JSON almak için Python’da önce HTTP isteği gönderilir, dönen yanıtın gövdesi okunur ve json.loads() ile Python sözlük veya liste nesnesine dönüştürülür. Aşağıdaki örnekte yalnızca standart kütüphane kullanılır; URL’yi kendi API adresinizle değiştirip dosyayı...
  3. Mario

    Python’da ModuleNotFoundError hatası nasıl çözülür?

    İlk olarak hatadaki modül adını, kodda kullandığınız Python yorumlayıcısını ve paketin kurulduğu ortamı karşılaştırın. ModuleNotFoundError, Python’ın belirtilen modülü mevcut çalışma ortamında bulamadığı anlamına gelir; çoğu durumda paket hiç kurulmamıştır, farklı bir Python ortamına kurulmuştur...
  4. Mario

    Python ile sunucuda disk alanı azaldığında nasıl e-posta uyarısı gönderilir?

    İşlem için shutil.disk_usage() ile sunucudaki dosya sisteminin boş alanını ölçüp belirlediğiniz eşik altına inildiğinde smtplib ve EmailMessage ile SMTP sunucusundan e-posta gönderebilirsiniz. Aşağıdaki örnek, / bölümünde boş alan yüzde 15’in altına düştüğünde uyarı gönderir; SMTP bilgilerinin...
  5. Mario

    Python ile bir web sitesinin erişilebilir olup olmadığı nasıl kontrol edilir?

    İşletim sistemi ve Python kurulumu hazırsa bir web sitesine HTTP isteği gönderip dönen HTTP durum kodunu kontrol edebilirsiniz. Aşağıdaki örnek, standart kütüphanedeki urllib.request modülünü kullanır; 200–399 arasındaki yanıtları erişilebilir kabul eder, bağlantı zaman aşımı, DNS, SSL ve HTTP...
  6. Mario

    Python ile belirli bir tarihten eski dosyalar nasıl otomatik silinir?

    İşlemi güvenli yapmak için klasördeki dosyaların st_mtime değerini, yani son içerik değiştirilme zamanını kontrol edip belirlediğiniz eşikten eski olanları silin. Aşağıdaki Python betiği önce yalnızca silinecek dosyaları listeler; SIL değerini True yaptığınızda silme işlemini gerçekleştirir...
  7. Mario

    Python scripti belirli aralıklarla nasıl çalıştırılır?

    İşletim sistemine göre en doğru yöntem değişir: Linux ve macOS'ta cron, Windows'ta Görev Zamanlayıcı kullanılabilir. Scriptin Python işlemi sürekli açık kalacaksa time.sleep() ile döngü kurulabilir; ancak bilgisayarın veya Python sürecinin kapanması bu yöntemi durdurur. Zamanlanmış görev...
  8. Mario

    Python ile sunucuda CPU kullanımı nasıl izlenir?

    İşletim sistemi Linux ise Python ile sunucunun toplam CPU kullanımını ek paket kurmadan /proc/stat dosyasındaki işlemci sayaçlarını iki ölçüm arasında karşılaştırarak izleyebilirsiniz. Windows veya macOS için ise işletim sistemine göre değişen sayaçları kendiniz okumak yerine psutil gibi...
  9. Mario

    Python ile klasördeki CSV dosyaları tek dosyada nasıl birleştirilir?

    CSV dosyalarını tek dosyada birleştirmenin en pratik yolu, klasördeki dosyaları Python ile bulup her birini bir pandas.DataFrame olarak okumak ve ardından concat() ile alt alta eklemektir. Aşağıdaki örnek, veriler klasöründeki tüm CSV dosyalarını okuyarak birlesik.csv adında tek bir dosya...
  10. Mario

    Python’da bir klasördeki dosyalar nasıl otomatik olarak yedeklenir?

    İlk çalıştırmada kaynak klasördeki dosyaları yedekleme klasörüne kopyalayan, sonraki çalıştırmalarda ise yalnızca yeni veya değişmiş dosyaları güncelleyen bir Python betiği kullanabilirsiniz. Aşağıdaki örnekte klasör yapısı korunur, dosya tarihleri ve izin bilgileri mümkün olduğunca taşınır...
  11. Mario

    Python ile sunucudaki bir işlemin çalışıp çalışmadığı nasıl kontrol edilir?

    İşlemi kontrol etmek için önce hangi bilgiye sahip olduğunuzu belirleyin: İşlemi siz başlattıysanız en güvenilir yöntem, çalışırken tuttuğunuz işlem kimliğini (PID) kontrol etmektir. Başka bir süreç tarafından başlatılan işlemi arıyorsanız yalnızca adına bakmak yerine mümkünse PID, komut satırı...
  12. Mario

    Python ile bir klasördeki dosyaların boyutu nasıl hesaplanır?

    Bir klasördeki dosyaların toplam boyutunu hesaplamak için Python’da pathlib kullanabilirsiniz. Yalnızca klasörün içindeki dosyaları toplamak istiyorsanız iterdir(), alt klasörleri de hesaba katmak istiyorsanız rglob() kullanılır. Boyutlar bayt cinsinden döner; sonucu KB, MB veya GB olarak...
  13. Mario

    Python’da bir klasördeki dosyalar ada göre nasıl toplu yeniden adlandırılır?

    İsimleri belirli bir kurala göre değiştirmek için klasördeki dosyaları pathlib ile listeleyip sıralayın, yeni adları önce ekrana yazdırarak kontrol edin ve ardından Path.rename() ile uygulayın. Aşağıdaki örnek, bir klasördeki dosyaları ada göre sıralar ve uzantılarını koruyarak dosya_001.ext...
  14. Mario

    Python’da bir metin dosyasındaki belirli satırlar nasıl bulunup silinir?

    Metin dosyasındaki belirli satırları silmek için dosyayı satır satır okuyup, silinmeyecek satırları yeni bir dosyaya yazabilir veya dosyanın içeriğini bellekte filtreleyip aynı dosyaya geri kaydedebilirsin. Satır numarasına göre silme işleminde Python listeleri sıfırdan başladığı için dosyanın...
  15. Mario

    Python ile sunucudaki bir portun açık olup olmadığı nasıl kontrol edilir?

    İlk paragrafta ana yanıtı, izlenecek yolu ve ulaşılabilecek sonucu doğrudan ver. Konunun önemini öven genel açılış veya bu makalede anlatacağız vaadiyle başlama. Okuru asıl bilgiye ulaşmak için gereksiz paragraflar okumaya zorlama. Python ile TCP portu kontrol etme Bir sunucudaki TCP portunun...
  16. Mario

    Python’da büyük dosyalar belleği doldurmadan nasıl okunur?

    Büyük bir dosyayı tek seferde read() ile belleğe almak yerine dosyayı satır satır veya belirli boyutlarda parçalar hâlinde okuyun. Böylece bellekte yalnızca o anda işlenen veri tutulur; dosyanın tamamı RAM'e yüklenmez. Satır satır okuma metin dosyaları için, sabit boyutlu parçalarla okuma ise...
  17. Mario

    Python’da başarısız HTTP istekleri otomatik olarak nasıl yeniden denenir?

    İstek başarısız olduğunda aynı işlemi sınırsızca tekrarlamak yerine, geçici hataları belirli bir deneme sayısıyla ve bekleme süresini artırarak yeniden deneyin. Python’un standart kütüphanesinde bunu urllib.request ile bir döngü, urllib.error.HTTPError ve urllib.error.URLError istisnalarını...
  18. Mario

    Python ile sunucuda disk alanı nasıl kontrol edilir?

    İşletim sisteminden bağımsız en pratik yöntem, Python’un standart kütüphanesindeki shutil.disk_usage() işlevini kullanmaktır. Bu işlev, verdiğiniz disk veya bağlama noktasındaki toplam, kullanılan ve boş alanı bayt cinsinden döndürür. Sonucu gigabayta çevirip kullanım yüzdesini hesaplayarak...
  19. Mario

    Python’da bir klasördeki dosyalar otomatik olarak nasıl sıkıştırılır?

    Python’da bir klasördeki dosyaları otomatik sıkıştırmak için standart kütüphanedeki shutil veya zipfile modülünü kullanabilirsiniz. Tek seferlik arşiv için shutil.make_archive() yeterlidir; klasörü belirli aralıklarla tarayıp yeni bir ZIP dosyası oluşturmak istiyorsanız pathlib ile dosyaları...
  20. Mario

    Python scripti belirli aralıklarla otomatik olarak nasıl çalıştırılır?

    İşletim sisteminin zamanlama aracını kullanarak Python scriptinizi belirli aralıklarla otomatik çalıştırabilirsiniz. Linux ve macOS'ta genellikle cron, Windows'ta ise Görev Zamanlayıcı kullanılır. Zamanlayıcı, belirlediğiniz saatte Python yorumlayıcısını çağırır; script çalışır ve sonucu dosyaya...