Linux Terminal'i Her Açtığımda 13. Cuma'ya Kaç Gün Kaldığını Göstertmek

metatronslove

Yeni Üye
Katılım
30 Aralık 2023
Mesajlar
9
Script içinde bulunduğunuz tarihten itibaren kaç gün sonra, hangi tarihte bir 13. Cuma olduğunu rapor ediyor. Bu kodu her terminal açışımda çalıştırarak raporladığı tarihi ve kaç gün kaldığını hatırlatmış oluyor. Python scriptlerini yani .py uzantılı dosyaları çalıştırmak için sisteminize Python kurmanız gerektiğini ve nasıl kuracağınızı arama motorlarına sorarak öğrenebileceğinizi var sayıyorum. Zaten yapay zeka kullanarak kendi scriptlerinizi kodlattırmanızın bile oldukça kolay olduğu zamanlarda yaşıyoruz. Her python kodu çalıştırma anlatımında illa ki pythonu kurmayı anlatmaktan itibaren başlamak gayet yersiz.


Sözünü ettiğim python kodu şu şekilde: friday.py

Kod:
import datetime
today = datetime.datetime.now()
if int(today.strftime("%d")) <= 13: testthis = datetime.datetime.strptime(str(today.strftime("%Y")) + "/" + str(today.strftime("%m")) + "/" + "13", "%Y/%m/%d")
if int(today.strftime("%d")) > 13:
    toincrement = datetime.datetime.strptime(str(today.strftime("%Y")) + "/" + str(today.strftime("%m")) + "/" + "13", "%Y/%m/%d")
    if int(toincrement.strftime("%m")) < 12:
        incremented = int(toincrement.strftime("%m")) + 1
        newyear = int(toincrement.strftime("%Y"))
    else:
        incremented = 1
        newyear = int(toincrement.strftime("%Y")) + 1
    jedi = "00" + str(incremented)
    warior = str(newyear) + "/" + str(jedi[-2:]) + "/" + str(toincrement.strftime("%d"))
    testthis = datetime.datetime.strptime(warior, "%Y/%m/%d")
dayofweek = int(testthis.strftime("%w"))
while dayofweek != 5:
    toincrement = datetime.datetime.strptime(str(testthis.strftime("%Y")) + "/" + str(testthis.strftime("%m")) + "/" + str(testthis.strftime("%d")), "%Y/%m/%d")
    if int(toincrement.strftime("%m")) < 12:
        incremented = int(toincrement.strftime("%m")) + 1
        newyear = int(toincrement.strftime("%Y"))
    else:
        incremented = 1
        newyear = int(toincrement.strftime("%Y")) + 1
    jedi = "00" + str(incremented)
    warior = str(newyear) + "/" + str(jedi[-2:]) + "/" + str(toincrement.strftime("%d"))
    testthis = datetime.datetime.strptime(warior, "%Y/%m/%d")
    dayofweek = int(testthis.strftime("%w"))
friday = str(testthis.strftime("%Y")) + "/" + str(testthis.strftime("%m")) + "/" + "13"
bugun = datetime.datetime.strptime(str(today.strftime("%Y")) + "/" + str(today.strftime("%m")) + "/" + str(today.strftime("%d")), "%Y/%m/%d")
cuma = datetime.datetime.strptime(friday, "%Y/%m/%d")
difference = (cuma - bugun).days
ay = ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"]
if int(difference) > 0:
    print("\n" + str(difference) + " gün sonra " + cuma.strftime("%d") + " " + ay[int(cuma.strftime("%m"))-1] + " " + cuma.strftime("%Y") + " Cuma\n")
else:
    print("\nBugün " + cuma.strftime("%d") + " " + ay[int(cuma.strftime("%m"))-1] + " " + cuma.strftime("%Y") + " Cuma\n")

Bu friday.py Python Script'i ile neler yapabiliyoruz ?


Öncelikle $ python3 friday.py şeklinde terminalde çalıştırdığımız zaman bize bir sonraki 13. Cuma'nın hangi tarihte ve kaç gün sonra olduğunu döndürüyor.


Elbette bu scripti linux terminalini her başlattığımızda çalıştırmanın bazı yöntemleri mevcut. ~/.bashrc diye ev dizinimizde bir dosya var bu dosyaya terminalden bir yankı yollayarak dosyanın sonuna scriptimizi icra ettiren komutu ekletebiliyoruz. Sözün gelimi friday.py dosyasını ~/cuma13/ dizinine kaydettik diyelim.

$ echo 'python3 ~/cuma13/friday.py' >> ~/.bashrc


Yukarıdaki komutu çalıştırdığımız zaman artık her terminali başlattığımızda friday.py scriptimizi çalıştırarak bize bir sonraki 13. Cuma hakkında hatırlatmalarda bulunacak.

Tüm bunların dışında bu scripti test ederken kullanılabilecek libfaketime isimli bir kütüphane mevcut. Bu kütüphaneyi arch tabanlı linuxte

$ yay libfaketime


Komutuyla sistemimize indirebilir ve kurabiliriz. Kütüphanenin kullanımı çok kolay.

$ faketime '2024-09-13' /bin/bash -c 'python3 ~/cuma13/friday.py'


Üstteki komutu girdiğimiz zaman scriptimizi çalıştırırken sistemin tarihinin girdiğimi 13 Eylül 2024 tarihi olduğunu varsayıyor fakat sistem zamanı bunun dışında tüm uygulamalarında değişmeden normal akışında devam ediyor; deneysel çalışmalar için oldukça etkili bir uygulama.

friday.py github sayfası

Yapay zeka haricinde eğlencelikler...
 

Forum istatistikleri

Konular
7,233
Mesajlar
122,408
Üyeler
2,922
Son üye
Spacetr

Son kaynaklar

Son profil mesajları

Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal taydin Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top