Python ile Komut Satırında Yapılacaklar Uygulaması

Komut satırında çalışan bir yapılacaklar uygulaması Python ile basit. Görevleri bir dosyada tutup, kullanıcı komutlarına göre ekleyip silebiliriz.

Önce klasör ve dosyaları hazırlayalım:

1mkdir todo_app
2cd todo_app
3touch tasks.txt
4touch todo.py

`tasks.txt` dosyası görevleri satır satır tutacak, `todo.py` ise uygulamanın ana dosyası olacak.

Görevleri okuma, yazma, listeleme ve silme için fonksiyonlar oluşturacağız. Dosyayı açıp görevleri satır satır okuyacak, yeni görev eklerken dosyaya yazacağız.

Komut satırında bir menü göstereceğiz. Kullanıcı 1 tuşlayıp Enter'a basarsa görev eklenecek, 2 tuşlayarsa görevler listelenecek, 3 tuşlayarsa görev silinecek.

1# todo.py
2import os
3
4TASK_FILE = "tasks.txt"
5
6def add_task(task):
7with open(TASK_FILE, "a", encoding="utf-8") as f:
8f.write(task + "\n")
9print(f"Görev eklendi: {task}")
10
11def list_tasks():
12if not os.path.exists(TASK_FILE) or os.path.getsize(TASK_FILE) == 0:
13print("Henüz görev yok.")
14return
15
16with open(TASK_FILE, "r", encoding="utf-8") as f:
17tasks = f.readlines()
18
19print("\n--- Görevler ---")
20for i, task in enumerate(tasks, 1):
21print(f"{i}. {task.strip()}")
22print()
23
24def delete_task(index):
25if not os.path.exists(TASK_FILE):
26print("Görev dosyası bulunamadı.")
27return
28
29with open(TASK_FILE, "r", encoding="utf-8") as f:
30tasks = f.readlines()
31
32if 0 < index <= len(tasks):
33removed = tasks.pop(index - 1)
34with open(TASK_FILE, "w", encoding="utf-8") as f:
35f.writelines(tasks)
36print(f"Silindi: {removed.strip()}")
37else:
38print("Geçersiz görev numarası.")
39
40def main():
41while True:
42print("\n1. Görev Ekle")
43print("2. Görevleri Listele")
44print("3. Görev Sil")
45print("4. Çıkış")
46
47choice = input("Seçim yapın: ").strip()
48
49if choice == "1":
50task = input("Görev girin: ").strip()
51if task:
52add_task(task)
53elif choice == "2":
54list_tasks()
55elif choice == "3":
56list_tasks()
57try:
58index = int(input("Silinecek görev numarası: "))
59delete_task(index)
60except ValueError:
61print("Lütfen geçerli bir numara girin.")
62elif choice == "4":
63print("Çıkılıyor...")
64break
65else:
66print("Geçersiz seçim.")
67
68if __name__ == "__main__":
69main()
1python todo.py

Program başladığında menü görünecek. Görev eklemek için 1'i seçin, listelemek için 2'yi, silmek için 3'ü tuşlayın. Görevler `tasks.txt` dosyasında kalıcı olarak saklanır, program kapandıktan sonra da silinmez.

konu hakkında tepkinizi verebilirsiniz