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

Katılım
30 Aralık 2023
Mesajlar
12
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,540
Mesajlar
126,338
Üyeler
3,054
Son üye
rikvipart

Son kaynaklar

Son profil mesajları

Python Geliştirmeye eklediğim yapay zeka sunucusu, yeni başlayanlar için roket etkisi
Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
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 :)
Back
Top