A simple todo list manager for the command-line.
I enjoy using terminal interfaces for as many things as possible. I keep a todo list in a .txt file and I wanted to be able to modify it within the console, (Merely appending documents wasn't quite as convenient as I wanted) and so I made this program. It basically just shuffles todo items between a 'todo' file and a 'done' file and allows you to clear both at once.
^ This is the main screen. Like many terminal based apps selections are made by hitting an indicated key and then enter, or entering text for the list content.
^ As an example, we'll add a new item by hitting 'n', then we'll enter our test.
^ Once we hit enter the new entry will appear under todo and will be assigned a number starting with 0.
^ To mark the entry as finished we can hit 'f' and the entries assigned number.
^ The entry is moved to finished and the number is removed so that it can be assigned to a new todo entry. 'c' clears the entire list and 'q' closes the program.
# name: ensign(A) # date: 2018-01-18 # description: Simple to-do list for use in the Windows command-line. # version 1.0 import sys import time todolist =  def loadlist(): todolist.clear() with open('todo.txt', 'r') as tf: num = 0 for line in tf: todolist.insert(num, line) num = (num + 1) num = 0 showlist() def showlist(): num = 0 print('\n') print("[Finished]") ff=open('finished.txt') print(ff.read()) ff.close print('\n') print("[To Do]") while (len(todolist) > (num)): print(num, todolist[num], end='') num = (num + 1) commands() def choicecheck(): if choice == 'N' or choice == 'n': newtask() elif choice == 'F' or choice == 'f': finished() elif choice == 'C' or choice == 'c': clearlist() elif choice == 'Q' or choice == 'q': done() else: commands() #commands def newtask(): new = input('Enter new task: ') tf = open("todo.txt","a") tf.write(new+'\n') tf.close() loadlist() def finished(): numst = input("Enter task number: ") try: num = int(numst) done = todolist[num] ff = open("finished.txt","a") ff.write(done) ff.close() todolist.pop(num) tf=open('todo.txt','w') for tasks in todolist: tf.write(tasks) tf.close() loadlist() except: print('Enter a valid integer.') finished() def clearlist(): open('todo.txt', 'w').close() open('finished.txt', 'w').close() print("List cleared!") loadlist() #messages def welcome(): print('Welcome to CMDto-do!') print('A simple to-do list program for the Windows Command Prompt.') print('ensign(A), 2018-01-18') def done(): print("Goodbye!") time.sleep(1) #exits program def commands(): global choice choice = 0 print('\n') print("(N) new task (F) add to finished (C) clear list (Q) quit") choice = input("Enter selection: ") choicecheck() #main program welcome() loadlist()