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
13
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...
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
8,320
Mesajlar
136,699
Üyeler
3,301
Son üye
ke58

Son kaynaklar

Son profil mesajları

mechanic ayhanarican mechanic wrote on ayhanarican's profile.
https://www.allmystery.de almanca biliyorsan burada araştır. Yapay zekada çeviriyor gerçi.
Almanların matematik bilgisi daha iyi oluyor.
“Kendi yolunu çizen kişi, kimsenin izinden gitmez.” – Nietzsche
Kim İslâm’da güzel bir çığır açarsa (güzel bir alışkanlık başlatırsa), onun sevabı ve kendisinden sonra ona uyanların sevapları, onların sevaplarından hiçbir şey eksilmeksizin ona da yazılır.
erdemtr55 taydin erdemtr55 wrote on taydin's profile.
Merhaba Taydin bey,
Gruba spms serisi yapıcak mısınız?
ben 3 sargılı toroid ile 2 adet flyback sürücek bir devre yapmayı düşünüyorum.size soracak sorularım vardı?
Mutluluğun resmi illa güzel çizilmiş tablo olmak zorunda değil.Bazen basit bir çizgi,doğru bir renk,yada küçük bir detay
Back
Top