Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабы / лаб7 / lab7_1

.py
Скачиваний:
6
Добавлен:
07.06.2023
Размер:
1.86 Кб
Скачать
def getInfo():
    invNumber = input('Введите инвентарный номер: ')
    porNumber = input('Введите порядковый номер: ')
    name = input('Введите наименование оборудования: ')
    date_purchase = input('Введите дату приобретения (формат: дд.мм.гггг): ')
    price = input('Введите стоимость : ').strip() + ' рублей'

    return [invNumber, porNumber, name, date_purchase, price]

def readInfo(f):
    f.seek(0)
    for line in f.readlines():
        print(line)

def writeInfo(data, f):
    headers = ['инвентарный номер', 'порядковый номер', 'наименование оборудования', 'дата приобретения', 'стоимость']
    f.seek(0)
    if len(f.readline()) == 0: data.insert(0, headers)
    f.seek(2)
    for line in data:
        rline = ""
        for i in range(len(line)):
            rline += line[i] + ' ' * (len(headers[i]) - len(line[i]))
            if i != len(line) - 1: rline += ' | '
        
        rline += '\n'

        f.write(rline)


fname = input('Введите название файла: ')
with open(fname, 'a+') as f:
    data = []
    while True:
        print('Чтобы добавить запись, пишите 1\nЧтобы просмотреть записи введите 2\nчтобы выйти/записать введённые данные - Enter')
        cmd = input('>> ')
        match cmd:
            case '': break
            case '1': data.append(getInfo())
            case '2': readInfo(f)
            case _: print('Вы ввели неправильную команду')

    if len(data) != 0:
        writeInfo(data, f)

        print(f'Данные были записаны в файл: {fname}')
Соседние файлы в папке лаб7