Bilmediğiniz Sorunları Çözen 5 Python Scripti
Python, güçlü ve çok yönlü bir programlama dilidir. Ancak bu gücü sadece büyük projelerde değil, günlük hayatta da kullanabiliriz. Bu makalede, varlığını bilmediğiniz sorunları çözecek 5 pratik Python scripti inceleyeceğiz. Bu scriptler ile zamanınızdan ve emekten tasarruf ederek verimliliğinizi artırabilirsiniz. Hazırsanız, başlayalım!
1. Dosya Düzenleyici ve Yeniden Adlandırıcı
Bilgisayarınızda yüzlerce dosya var ve bunları düzenlemeniz gerekiyor mu? İşte tam bu noktada Python devreye giriyor. Aşağıdaki script, belirli bir dizindeki tüm dosyaların isimlerini düzenlemenize veya yeniden adlandırmanıza olanak tanır. Örneğin, tüm resimlerin isimlerinin sonuna tarih ekleyebilirsiniz. Bu, özellikle fotoğrafçılar veya düzenli olarak dosya yönetimiyle uğraşanlar için oldukça faydalıdır.
import os
import re
def rename_files(directory, pattern, replacement):
for filename in os.listdir(directory):
if re.search(pattern, filename):
new_name = re.sub(pattern, replacement, filename)
os.rename(os.path.join(directory, filename), os.path.join(directory, new_name))
# Örnek kullanım:
rename_files("/path/to/your/directory", r"(\d{4})-(\d{2})-(\d{2})", r"\3\2\1")
Bu script, düzenli ifadeler (regex) kullanarak dosya isimlerini esnek bir şekilde değiştirmenizi sağlar. Burada verilen örnek, tarih formatını değiştirmektedir, ancak ihtiyaçlarınıza göre düzenleyebilirsiniz. Daha fazla bilgi için fatihsoysal.com sitesini ziyaret edebilirsiniz.
2. E-posta Gönderen
Birkaç kişiye aynı e-postayı göndermeniz mi gerekiyor? Python ile bu işlemi otomatikleştirebilirsiniz. Aşağıdaki script, SMTP protokolünü kullanarak e-posta gönderir. Elbette, bu scripti kullanmadan önce e-posta sağlayıcınızın ayarlarını doğru bir şekilde yapılandırmanız önemlidir.
import smtplib
from email.mime.text import MIMEText
def send_email(sender, password, recipient, subject, body):
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = sender
msg['To'] = recipient
with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp:
smtp.login(sender, password)
smtp.send_message(msg)
# Örnek kullanım (Gmail için):
send_email("your_email@gmail.com", "your_password", "recipient_email@example.com", "Konu", "E-posta içeriği")
Güvenlik açısından, şifrenizi doğrudan kodunuza eklememeniz önemlidir. Daha güvenli bir yaklaşım için ortam değişkenlerini veya bir konfigürasyon dosyası kullanabilirsiniz. Bu script, zaman kazandırırken, aynı e-postayı defalarca elle yazma zahmetinden kurtarır.
3. Web Sayfası İndirici
Belirli bir web sayfasının içeriğini düzenli olarak indirmeniz gerekiyorsa, bu script tam size göre. Python’ın requests kütüphanesi ile web sayfalarını kolayca indirebilirsiniz.
import requests
def download_webpage(url, filename):
response = requests.get(url)
response.raise_for_status() # Hata kontrolü
with open(filename, 'w', encoding='utf-8') as f:
f.write(response.text)
# Örnek kullanım:
download_webpage("https://www.orneksite.com", "orneksite.html")
Bu script, web sayfasının içeriğini belirtilen dosyaya kaydeder. Hata yönetimi için response.raise_for_status() fonksiyonu kullanılmıştır. Bu, olası hataları yakalamak ve programın çökmesini önlemek için önemlidir. Sonrasında bu dosyayı istediğiniz gibi düzenleyebilirsiniz.
4. Rastgele Şifre Üretici
Güçlü ve güvenli şifreler oluşturmak zor olabilir. Bu script, istenen uzunlukta ve karakter setinde rastgele şifreler oluşturmanıza yardımcı olur.
import random
import string
def generate_password(length=12):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for i in range(length))
return password
# Örnek kullanım:
print(generate_password())
Bu basit script, güvenliğinizi artırmak için güçlü ve benzersiz şifreler oluşturmanıza yardımcı olur. Uzunluğu isteğe bağlı olarak ayarlayabilirsiniz.
5. Metin Dosyası Okuyucu ve İşleyici
Büyük metin dosyalarını manuel olarak işlemek sıkıcı ve zaman alıcı olabilir. Python ile bu işlemi otomatikleştirebilirsiniz. Aşağıdaki script, metin dosyasını satır satır okur, belirli kelimeleri arar ve istatistikler oluşturur.
def process_text_file(filename, word):
word_count = 0
line_count = 0
with open(filename, 'r', encoding='utf-8') as f:
for line in f:
line_count += 1
word_count += line.lower().count(word.lower())
return word_count, line_count
# Örnek kullanım:
count, lines = process_text_file("dosya.txt", "Python")
print(f"'Python' kelimesi {count} kere geçti, toplam {lines} satır var.")
Bu, metin madenciliği veya veri analizi için temel bir örnektir. İhtiyaçlarınıza göre bu scripti genişletebilir ve daha karmaşık işlemler gerçekleştirebilirsiniz. Örneğin, kelime frekanslarını hesaplamak veya belirli desenleri bulmak gibi.
Umarım bu scriptler, Python’ın günlük hayattaki gücünü göstermiştir. Daha fazla Python ipucu ve projesi için fatihsoysal.com adresini ziyaret etmeyi unutmayın!
#Etiketler:
Python, script, programlama, otomasyon, kodlama, çözüm, pratik, zaman tasarrufu, verimlilik, dosya yönetimi, e-posta, web scraping, şifre üretici, metin analizi