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

friday.py:
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...
 

Çevrimiçi personel

Forum istatistikleri

Konular
6,522
Mesajlar
110,896
Üyeler
2,681
Son üye
Oğuzhan06

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top