WebP dönüştürme betiğiGeliştirme ve Özelleştirme

Sitenizin JPEG ve PNG görsellerini tek seferde hafif WebP dosyalarına dönüştüren bir Python betiği

Genellikle 15 dakika içinde hazırRevizyonlar dahilKalite kontrolü
Paketler
Ödeme korumasıAyrıntılar
  • Paket kapsamındaki revizyonlar ücretsizdir.
  • Teslimattan sonraki 3 gün içinde yanıt vermezseniz iş otomatik olarak onaylanır.

Para, ödeme yaptığınızda bloke edilir ve yalnızca işi onayladığınızda aktarılır.

Sitenizin JPEG ve PNG görsellerini tek seferde hafif WebP dosyalarına dönüştüren bir Python betiği

Örnek sonuç

Standart paket için örnek

Merging the monthly sales files of 9 shops into one Excel report

How it is run

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Folder: sales/2026-10, 9 files found
2026-11-02 09:14:03 INFO  shop-01.csv: 1,284 rows
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 rows
2026-11-02 09:14:04 WARN  shop-07.csv: 3 rows without a price skipped (lines 88, 412, 913)
2026-11-02 09:14:05 INFO  Done: 10,412 rows -> report-2026-10.xlsx (sheets "Sales" and "Totals")

Settings, not code

The column names of each shop live in settings.ini, so a new shop or a renamed column is a line there:

[columns]
date = Date, Sale date, Day
product = Product, Item, Name
quantity = Qty, Quantity, Pcs
price = Price, Unit price

A part of the code

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Reads one shop's file and gives it the report's column names."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: no column for '{name}' (looked for {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

Files: a ZIP archive with merge_sales.py (310 lines), settings.ini, requirements.txt and a README with installing Python, running the script and what each message in the log means. The client runs it on their own computer.

Client: a small chain of 9 stationery shops; each shop sends its sales for the month as a CSV or Excel file, with slightly different column names. Task: one script that reads every file in a folder, brings the columns to one shape, and writes a single Excel report with all sales and a sheet of totals by shop.

Müşteri ve tüm ayrıntılar kurgusaldır.

Bu hizmet hakkında

WebP görseller benzer bir görünümde genellikle JPEG ya da PNG'den belirgin şekilde daha hafiftir, bu yüzden sayfalar daha hızlı yüklenir. Bu Python betiği bir klasördeki görselleri, örneğin sitenizin bilgisayarınıza kopyaladığınız yüklemeler klasörünü, WebP'ye dönüştürür: fotoğrafları seçtiğiniz kalitede, logoları ve grafikleri şeffaflığı korunarak ya da hiç kayıp olmadan. Klasör düzenini ve dosya adlarını korur, zaten dönüştürülmüş görselleri atlar ve Standart paketten itibaren her dosyanın ne kadar yer kazandırdığını yazar. Klasör düzenini ve birkaç örnek görsel gönderin. Betiği kendi bilgisayarınızda ya da sunucunuzda kendiniz çalıştırırsınız. Dosyaları oluşturur; sitenizin sayfalarını onlara yönlendirmek (ya da bunu yapan bir eklenti) README'nin açıkladığı ayrı bir adımdır.

Neler dahil

  • Neler alırsınızPython betiğini, adım adım talimatlar içeren bir README dosyasını ve Standart paketten itibaren klasörleri ve kaliteyi içeren bir ayar dosyasını barındıran bir ZIP arşivi; kod sipariş sayfasında da gösterilir.
  • Girdi olarak JPEG ve PNGAyrıca animasyonsuz GIF ve BMP
  • Şeffaflık korunurLogolar ve ikonlar her arka planda temiz kalır
  • Aynı adlar ve klasörlerphoto.jpg aynı yerde photo.webp olur
  • Orijinaller saklanırHiçbir şey silinmez ya da üzerine yazılmaz
  • Okunabilir kodYorumlarla; sonradan kaliteyi değiştirmek kolay

Nasıl çalışır

  1. 1
    GörevKlasörleri anlatır ve birkaç örnek görsel gönderirsiniz
  2. 2
    KodBetiği ve çalıştırma kılavuzunu yazarız
  3. 3
    DeneyinKlasörün bir kopyasını dönüştürür ve görselleri karşılaştırırsınız
  4. 4
    DeğişikliklerPaketiniz kapsamında değişiklik ister, varsa hata mesajını gönderirsiniz

Sizden neler gerekiyor

Görsellerin nerede olduğu (bilgisayarınızdaki bir klasör ya da sunucunuzda kendiniz erişebildiğiniz bir klasör), yaklaşık kaç tane ve ne türde oldukları: fotoğraflar, logolar, ekran görüntüleri. WebP dosyalarının orijinallerin yanında mı yoksa ayrı bir klasörde mi duracağı, istediğiniz kalite ya da karar vermek için örnek bir görsel ve dosya yolları için önemliyse sitenizin neyle çalıştığı. Sisteminiz: Windows, macOS ya da Linux.

Size soracaklarımız:

  • Görseller nerede?
  • Ne tür görseller?
  • WebP dosyaları nereye gitmeli?
  • Nerede çalışacak?

Paketleri karşılaştırın

PaketlerTemelKlasörden WebP'ye$16StandartAyarlı WebP$33PremiumWebP aracı$67
Teslim süresi1 gün2 gün3 gün
Revizyonlar123
Koden fazla 150 satıren fazla 400 satıren fazla 1.000 satır
Kod dosyası1en fazla 3en fazla 8
Ayar dosyasıHayırEvetEvet
Anlaşılır hata mesajları ve logHayırEvetEvet
Çalıştırma seçenekleri ve zamanlanmış çalıştırma kılavuzuHayırHayırEvet
Kurulum ve çalıştırma kılavuzu (README)EvetEvetEvet
DilPythonPythonPython
Sipariş ver TemelSipariş ver StandartSipariş ver Premium

Ödeme koruması

Sipariş verirken ödersiniz, ancak para yalnızca onaylanan iş için aktarılır.

  • Sabit fiyatPaket fiyatı, ödeme yaptıktan sonra değişmez.
  • Para bloke edilirÖdeme yaptığınızda tutar yalnızca bloke edilir. İşi onayladığınızda hizmete aktarılır.
  • Teslimattan önce kontrolHer sonuç size ulaşmadan önce kalite kontrolünden geçer ve onaylamadan önce sipariş sayfasında görürsünüz.
  • Ücretsiz revizyonlarBrifiniz kapsamında, paketin izin verdiği sayıda değişiklik isteyin.
  • 3 gün sonra onayTeslimattan sonraki 3 gün içinde işi onaylamaz veya değişiklik istemezseniz iş otomatik olarak onaylanır. Teslimattan sonra sipariş sohbetine yazarsanız sipariş bekletilir; yanıt verdikten sonra 3 günlük süreyi yeniden başlatabiliriz ve bunu sohbette bildiririz.
  • Yeniden yapım veya tam iadeSonuç brifinize uymuyorsa ve revizyonlar sorunu çözmediyse ya da iş teslim süresinin iki katından uzun sürerse sipariş sohbetine yazın: işi yeniden yaparız veya ödemenin tamamını iade ederiz.
Nasıl çalışır →

Sorular ve yanıtlar

Bundan sonra sitem WebP gösterecek mi?

Kendiliğinden değil. Betik dosyaları oluşturur; sayfaların yine de onlara yönlendirilmesi ya da sitenizin platformunun veya bir eklentinin onları sunması gerekir. README yaygın yolları açıklar; Premium buna yardımcı olmak için eski ve yeni yolların bir listesini ekler.

Hostingimde çalışabilir mi?

Evet, hostinginiz Python çalıştırmanıza ve bir kütüphane kurmanıza izin veriyorsa; SSH erişimli birçok paket buna izin verir. Aksi hâlde klasörü indirin, bilgisayarınızda çalıştırın ve WebP dosyalarını geri yükleyin.

Tüm tarayıcılar WebP gösterir mi?

Güncel büyük tarayıcıların hepsi gösterir. Orijinal JPEG ve PNG'leri yanlarında tutmak çok eski tarayıcıların onlara geri dönmesini sağlar.

Siteme giriş yapıp bunu siz mi yapacaksınız?

Hayır. Sitenize ya da hostinginize asla giriş yapmayız. Betiği kendiniz çalıştırırsınız ve README her adımı açıklar.

Yanıtınızı bulamadınız mı?

Paketler