Как перечислить () (номер строки) текстовый файл каждый раз, когда пользователь добавляет словарь - PullRequest
0 голосов
/ 01 мая 2020

Надеюсь, у вас все хорошо, учитывая текущие обстоятельства.

При создании кода диспетчера задач у меня возникла проблема, мне нужен совет и помощь:

Код добавляет словари (задачи пользователей). Можно добавить) в текстовый файл, но я хотел бы добавлять число в строке каждый раз, когда пользователь добавляет задачу.

В настоящее время вывод текста:

{"Пользователь": "julien" , "Заголовок": "Python", "Назначенная дата": "30 04 2020", "Срок исполнения": "05 05 2020", "Завершение?": "Нет", "Описание": "Проверьте, если dict () добавлен в файл .txt "}

{" Пользователь ":" julien "," Заголовок ":" Python "," Назначенная дата ":" 30 04 2020 "," Дата исполнения ":" 05 05 2020 "," Завершение? ":" Нет "," Описание ":" Найти способ пронумеровать все строки dict () в txt.file "}

То, что я хотел бы, это:

1 {"Пользователь": "julien", "Заголовок": "Python", "Назначенная дата": "30 04 2020", "Дата исполнения": "05 05 2020", "Завершение» ? ":" Нет "," Описание ":" Проверить, добавлен ли dict () в файл .txt "}

2 {" Пользователь ":" julien "," Заголовок ":" Python "," Дата присвоена ":" 30 04 2020 "," Срок исполнения ":" 05 05 2020 "," Завершение? ":" Нет "," Описание ":" Найти способ нумеровать все строки dict () в txt.file "}

Инкремент должен продолжаться каждый раз, когда добавляется задача.

Причина, по которой мне это нужно, заключается в том, чтобы позволить пользователям позже выбрать задачу, введя связанную с ней (строку) число. Я попытался enumerate () для l oop, но json .dumps, кажется, принимает только один аргумент, который заставил мой мозг кровоточить в течение 2 часов, пытаясь это выяснить.

Я начал свой путь кодирования через 3 недели go и надеемся, что вы будете осторожны со мной, если мой код как-то сломает вам глаза.

Огромное спасибо заранее за вашу помощь.

мой текущий код выглядит так:


def add_task ():

with open('user.txt', 'r') as task_file:

    user_assign = input("Enter the username the task is assigned to (case sensitive): ")

    while user_assign not in users_list:

        user_assign = input("\n! Username not registered !\nPlease enter a valid Username: ")

    else:
        task = input("Enter the task title: "))
        start_date = input("Enter the starting date (dd mm yyyy): "))
        end_date = input("Enter the due date (dd mm yyyy): "))
        status = input("Is the task complete? Type 'Yes' or 'No': "))
        t_description = input("Enter the task description:\n"))

    result = print(f"\nTask:\t\t\t\t{task}\n"
        f"Assigned to:\t\t{user_assign}\n"
        f"Date assigned:\t\t{start_date}\n"
        f"Due Date:\t\t\t{end_date}\n"
        f"Task Completed?:\t{status}\n"
        f"Task Description:\n{t_description}\n")

    tasks = {'User': user_assign, 'Title': task,
             'Date Assigned': start_date, 'Due Date': end_date,
             'Completion?': status, 'Description': t_description}

with open('tasks.txt', 'a') as new_task:

    new_task.write(json.dumps(tasks))
    new_task.write("\n")

    print("Operation successfully completed!")
    return True
...