Персонализированный диспетчер задач на Python

Опубликовано: 7 Октября, 2022

В этой статье мы собираемся создать программное обеспечение для управления задачами на Python. Это программное обеспечение будет очень полезно для тех, кто не хочет обременять себя тем, какую задачу они выполнили и с какой еще остались. Будучи кодером, мы должны помнить, какие соревнования проходят, на какие курсы мы записались, за каким плейлистом на YouTube мы следим и так далее. Это программное обеспечение будет вести учет всех таких деталей безопасным образом, чтобы только у вас был доступ к вашим данным.

Инструменты и технологии, используемые в проекте:

  • Этот проект будет очень удобен для начинающих.
  • Работа этого программного обеспечения полностью POP (процедурно-ориентированное программирование). Необходимы базовые знания о функциях Python.
  • Модуль даты и времени Python.

Требуемый набор навыков для создания проекта:

  • питон
  • Visual Studio Code или любой другой редактор кода.

Пошаговая реализация:

Выполните следующие шаги, чтобы реализовать персонализированный диспетчер задач с помощью Python:

  • Шаг 1: Создайте папку с именем «Диспетчер задач». Откройте его в своем любимом редакторе кода.
  • Шаг 2: Создайте файл Python с именем «task_manager.py».
  • Шаг 3: Теперь мы готовы кодировать наше программное обеспечение. Сначала мы начнем с создания нашей функции регистрации. Функция регистрации будет принимать имя пользователя, под которым пользователь собирается создать свою учетную запись, и запрашивать пароль для этой учетной записи. Код ниже прояснит ситуацию.

Python3




def signup():
    print("Please enter the username by which you
    wanna access your account")
    username = input("please enter here:  ")
    password = input("Enter a password:  ")
  • Шаг 4: Теперь мы создадим функцию user_information, которая возьмет данные из функции signup и создаст текстовый файл для сохранения пользовательских данных. Приведенный ниже код покажет, как все будет происходить.

Python3




# pssd means password, ussnm is username
def user_information(ussnm, pssd):
    name = input("enter your name please: ")
    address = input("your address")
    age = input("Your age please")
    ussnm_ = ussnm+" task.txt"
     
    f = open(ussnm_, "a")
    f.write(pssd)
    f.write(" Name: ")
    f.write(name)
    f.write(" ")
    f.write("Address :")
 
    f.write(address)
    f.write(" ")
    f.write("Age :")
    f.write(age)
    f.write(" ")
    f.close()
 
 
def signup():
    print("Please enter the username by which you
    wanna access your account")
    username = input("please enter here:  ")
    password = input("Enter a password:  ")
    user_information(username, password)
  • Шаг 5: Как только текстовый файл будет создан функцией user_information , пришло время написать нашу функцию входа в систему. Функция входа в систему возьмет имя пользователя и запросит связанный с ним пароль. Как только пользователь вводит пароль, функция проверяет, совпадает ли пароль, сохраненный в текстовом файле, с введенным. Код может объяснить точнее,

Python3




def login():
    print("Please enter your username ")
    user_nm = input("Enter here: ")
     
    # Password as entered while logging in
    pssd_wr = (input("enterr the password"))+" "
    try:
        usernm = user_nm+" task.txt"
        f_ = open(usernm, "r")
         
        # variable "k" contains the password as saved
        # in the file
        k = f_.readlines(0)[0]
        f_.close()
         
         # Checking if the Password entered is same as
         # the password saved while signing in
        if pssd_wr == k:
            print(
                "1--to view your data 2--To add task 3--Update
                task status 4--View task status")
            a = input()
        else:
            print("SIR YOUR PASSWORD OR USERNAME IS WRONG , Plz enter Again")
            login()
    except Exception as e:
        print(e)
        login()
  • Шаг 6: На этом шаге мы позаботимся о том, чтобы после входа пользователя мы могли попросить его/ее войти в свою учетную запись. Это можно сделать, вызвав функцию входа в систему в конце функции входа. Таким образом, функция входа будет выглядеть так:

Python3




def signup():
    print("Please enter the username by which you wanna access your account")
    username = input("please enter here:  ")
    password = input("Enter a password:  ")
    user_information(username, password)
    print("Sir please proceed towards log in")
    login()
  • Шаг 7: Давайте выполним четыре важные функции, указанные в блоке «Вход в систему». А именно, функция просмотра данных, функция добавления задачи к данным, функция обновления статуса задачи и функция просмотра статуса задачи. На этом шаге мы собираемся завершить функцию «вход в систему», выполнив часть if-else после ввода запроса пользователя, то есть ввода в переменную a. См. приведенный ниже код:

Python3




def login():
    print("Please enter your username ")
    user_nm = input("Enter here: ")
     
    # Password as entered while logging in
    pssd_wr = (input("enterr the password"))+" "
    try:
        usernm = user_nm+" task.txt"
        f_ = open(usernm, "r")
         
        # variable "k" contains the password as
        # saved in the file
        k = f_.readlines(0)[0]
        f_.close()
         
         # Checking if the Password entered is same
         # as the password saved while signing in
        if pssd_wr == k:
            print(
                "1--to view your data 2--To add task 3--Update
                task 4--VIEW TASK STATUS")
            a = input()
             
            if a == "1":
                view_data(usernm)
            elif a == "2":
                # add task
                task_information(usernm)
            elif a == "3":
                task_update(user_nm)
            elif a == "4":
                task_update_viewer(user_nm)
            else:
                print("Wrong input ! ")
        else:
            print("SIR YOUR PASSWORD OR USERNAME IS WRONG")
            login()
 
    except Exception as e:
        print(e)
        login()
 
 
def view_data(username):
    pass
 
def task_information(username):
    pass
 
def task_update(username):
    pass
 
def task_update_viewer(username):
    pass


Как видите, команда pass используется для того, чтобы мы могли написать имя и аргумент функции без тела функции, а также предотвратить вывод сообщения об ошибке в редакторе кода.

  • Шаг 8: Давайте закодируем блок данных представления.

Python3




def view_data(username):
    ff = open(username, "r")
    print(ff.read())
    ff.close()
  • Шаг 9: Чтобы закодировать блок информации о задаче, нам нужно помнить об основных концепциях обработки текста в Python. Мы спросим пользователя, сколько задач он хочет добавить, и в соответствии с его желанием мы будем повторять цикл столько раз и попросим его ввести свою задачу и цель, по которой он хочет завершить задачу.

Python3




def task_information(username):
    print("Sir enter n.o of task you want to ADD")
    j = int(input())
    f1 = open(username, "a")
     
    for i in range(1, j+1):
        task = input("enter the task")
        target = input("enter the target")
        pp = "TASK "+str(i)+" :"
        qq = "TARGET "+str(i)+" :"
         
        f1.write(pp)
        f1.write(task)
        f1.write(" ")
        f1.write(qq)
        f1.write(target)
        f1.write(" ")
         
        print("Do u want to stop press space bar otherwise enter")
        s = input()
        if s == " ":
            break
    f1.close()

Обратите внимание, что мы добавили сообщение о том, что если пользователь хочет прекратить добавлять задачу раньше, чем он пожелает, то он получит шанс. Это делает программу очень удобной для пользователя.

  • Шаг 10: Обновление статуса задачи происходит по аналогии с обработкой текста в python. Что мы будем делать, так это сохранять, какой номер задачи завершен, какая выполняется, а какая еще не начата, с отметкой даты и времени. Эта часть текстового файла будет выглядеть так:
2021-06-01 14:44:02.851506
COMPLETED TASK  
1,3,4
ONGOING TASK  
2
NOT YET STARTED
5

Python3




def task_update(username):
    username = username+" TASK.txt"
    print("Please enter the tasks which are completed ")
     
    task_completed = input()
    print("Enter task which are still not started by you")
     
    task_not_started = input()
    print("Enter task which you are doing")
     
    task_ongoing = input()
    fw = open(username, "a")
    DT = str(datetime.datetime.now())
     
    fw.write(DT)
    fw.write(" ")
    fw.write("COMPLETED TASK ")
    fw.write(task_completed)
    fw.write(" ")
    fw.write("ONGOING TASK ")
    fw.write(task_ongoing)
    fw.write(" ")
    fw.write("NOT YET STARTED ")
    fw.write(task_not_started)
    fw.write(" ")
  • Шаг 11: Теперь у нас осталась функция просмотра обновлений задач. Эта функция так же проста, как и функция «view_data».

Python3




def task_update_viewer(username):
    ussnm = username+" TASK.txt"
    o = open(ussnm, "r")
    print(o.read())
    o.close()

На этом программа заканчивается. Но прежде чем мы закончим, самая важная задача, которая все еще остается, - это кодирование основной функции и управление потоком команд программы из самой основной функции.

  • Шаг 12: Основная функция.

Python3