Алан Гибизов
@phaggi Автор вопроса, куратор тега Python
Aragorn, формально да, можно. Но стОит ли? Мне думается, обсуждение под вопросом стоит того, чтобы его оставить. Но если считаешь, что надо удалить - кидай жалобу.
Тамаз Харламов, ну тогда Яндекс спросите. В любом случае, какой ответ вы ждете? Прям готовый код? Вряд ли вы его получите. Тем более что вы код получили наверное от чатжпт - но он порой глючит, надо читать и вникать. А вы хотите, чтоб мы за вас вникали и читали бред бредогенератора? Фигушки.
И кстати вы привели не полный код и не полную ошибку, так что - к гадалкам.
Роса пару лет назад была вполне годная как десктоп. Всё завелось искаропки кроме экзотического сетевого принтера.
Но вот вопрос разработки…
Иногда некоторый софт с упорством пьяного не хочет ставиться, потому что ад зависимостей, а еще старые версии ушли, например .net 7, и его запинать в Linux теперь не так просто, а собранное с ним тоже не взлетит без него. Так что тут не угадаешь. Я пришел к тому, что на серваке держу разные виртуалки с разными осями, и делаю с них клоны по необходимости.
Рекомендую проблему декомпозировать, а код написать самостоятельно для каждой подзадачи, полученной при декомпозиции. Всё отладить по частям, потом собирать воедино, с постоянной отладкой. Приносить конкретные вопросы по конкретным деталям, а не вот это вот «у меня тут бред бредогенератора, я в нем че-то накосячил, вы уж сами разберитесь и сделайте мне красиво»
Поскольку отсюда не видно, где и что именно не отправляется и не нажимается, трудно что-либо советовать.
У меня был случай, когда я выбирал кликами радиокнопки, а кнопка отправить выбор не кликалась хоть тресни. И помогло использование .submit вместо .click. Может, и тут что-нибудь такое.
IMHO самое простое в словарь добавлять сразу два ключа: собственно ключ с его значением и второй ключ- хеш основного ключа со значением - ссылкой на значение словаря по основному ключу.
Типа так:
tmp_dict[tmp] = "value by key 'test_1'"
tmp_dict[hash(tmp)] = tmp_dict[tmp]
В принципе, тут не нужны танцы с классом test, а можно реализовать производный класс, наследуемый от словаря, поддерживающий как вышеуказанный функционал, так и реализующий консистентность (своевременное удаление и создание пар ключ и ключ-хеш).
Ну и вдогонку - можно сделать просто словарь с ключами-хешами, а получать значение сразу по хешу. Сам ключ вообще в словаре не хранить. Зачем он там, если мы его и так знаем?
Не-не-не. Не так.
Выкидываете кинетик, берете микротик и долго и вдумчиво имеете с ним пассивный анальный секс в извращенной форме.
Потом случайно оно таки заработало как надо, вы выдохнули.
Через год всё забыли, и вам надо опять ченьть там подкрутить. Месяц извращений, красные глаза. Выдохнули, забыли как страшный сон.
Leopandro, зачем это делать на ноутбуке? Делайте это в своем личном облаке на собственном серваке с любым количеством памяти и ядер. Подключившись с любого удобного ноутбука. Я делаю это именно так. Да, уровнем пожиже, но суть от этого не меняется.
Вопрос выглядит как «Смогу я на своем персональном двухместном вертолете перевозить пять морских 40-футовых контейнеров? Какой мне вертолет взять для этого - старый или новый?»
Возьми для этого тепловоз с платформами, а не вертолет…
Для начала - команда перезагрузки из скрипта Python без танцев с портами и пакетами работает? Если ее просто тупо вызвать из скрипта без проверок и пр.?
Если работает, а с проверкой - нет, то надо копать проверочную часть с пакетом и пр. Если не работает само выключение - надо смотреть, что именно происходит. Как минимум смотреть права и всё вот это.
Вообще меня смущает sudo в начале команды. Оно ведь должно ждать ввода пароля, разве нет? Надо либо запускать от имени пользователя, у которого достаточно прав для перезагрузок без sudo, либо танцевать с костылями ввода пароля из кода…
Без создания моделей данных действительно сомнительно, как это сделать. А потом можно попробовать библиотеку jsons. Я не пробовал, но что-то в ней есть.