• Запись в json файл и обновление python?

    laviol
    @laviol
    Кодер-разнорабочий
    Ну, вполне логичное поведение, учитывая, что Вы никак не разделяете запись, а тупо пишете post_data в качестве значения и в ключ 'COM-port', и в ключ 'TCP'.
    Для того, чтобы разделить запись, следует проверять значение post_data['type'], и в зависимости от того, что там, записывать в качестве значения соответствующего ключа в итоговом конфиге.
    Что-то аля:
    post_data = request.get_json()
    if post_data['type'] == 'com':
        to_json = {'COM-port': post_data}
    elif post_data['type'] == 'tcp':
        to_json = {'TCP': post_data}
    Ответ написан
    2 комментария
  • Можно ли начинать с питона?

    laviol
    @laviol
    Кодер-разнорабочий
    Изучая и используя Python Вы, конечно же, не узнаете многих "подкапотных" вещей, большую часть задач интерпретатор заберет на себя (сборка мусора, утиная типизация и т.д.).
    Но это не значит, что их не следует изучать самостоятельно, попутно с изучением самого языка.
    Программирование на C (как вариант C++) даст понимание того, как все работает внутри на пальцах, именно поэтому их чаще всего советуют перед Python, тем более, что самая распространенная реализация Python написана на C, и, когда настанет момент написания собственных библиотек и модулей, знание этого языка точно пригодится.
    Все это не значит, что нельзя научиться писать на Python без знания C.
    Вопрос, как и всегда, в том, что Вы хотите писать и какие задачи решать.
    Простое изучение языка ради его изучения - сомнительная затея.
    Ответ написан
    Комментировать
  • Как преобразовать строку в список в PYTHON?

    laviol
    @laviol
    Кодер-разнорабочий
    Получить из строки элементы по заданному шаблону можно довольно просто используя регулярные выражения и встроенную в Python библиотеку re.
    Для проверки своего регулярного выражения (с подсказками по их составлению) существует множество онлайн сервисов, достаточно погуглить.
    Ответ написан
    Комментировать
  • Как сделать так, чтобы скрипт из текстового файла убирал лишние буквы?

    laviol
    @laviol
    Кодер-разнорабочий
    1. Если бы Вы прочитали ЛЮБУЮ книгу по питону хотя бы частично (раздел работы со строками и циклами, для вашего случая), то получить знания о том, как разобрать такую задачу, не составило бы труда.
    2. Тостер - не сообщество аля "напишите мне решение задачи". Никто не любит, когда ему садятся на шею и просят что-то решить. Здесь люди ищут помощь, а не обслугу.
    3. Раз уж я начал писать ответ, а писать такой элементарный код не хочется, попробую подвести к ответу, чтобы это дало хоть какую-то пользу.
    3.1. for text in text:
    Задавать такой цикл - даже не выстрел в ногу, а просто бессмыслица.
    Переменная цикла и итератор точно не должны называться одинаково.
    Для того, чтобы понять, как обращаться с циклами (и итераторами) в Питоне, повторюсь, можно почитать соответствующий раздел в документации или книге по языку.
    3.2. Зачем вам continue?
    3.3. Намекну, что для решения задачи достаточно метода replace в связке с изменяемой строковой переменной. За остальным - добро пожаловать в документацию и книги.
    Ответ написан
    1 комментарий
  • Какая книга по PyQT актуальна?

    laviol
    @laviol
    Кодер-разнорабочий
    Читал Прохоренок-Дронов, который уже выше кидали. Для начального понимания, как же все устроено, более чем подходит.
    А дальше - документация по PyQt5, StackOverflow и упорное набивание шишек.
    Также советую сразу начать вникать в управление потоками, в частности с использованием QThread, ибо без них создать что-то удобоваримое вряд ли выйдет.
    Ответ написан
    Комментировать
  • Откуда возникает ошибка AttributeError?

    laviol
    @laviol
    Кодер-разнорабочий
    Аттрибута find_elemet_by_idдействительно не существует.
    Опечатка в слове element.
    Ответ написан
    Комментировать
  • Как преодолеть ошибку qt.qpa.plugin возникающую при запуске скрипта с PyQt5?

    laviol
    @laviol
    Кодер-разнорабочий
    Возможно конфликт версий интерпретатора Python и PyQt5.
    Можно попробовать решить переустановкой pip install PyQt5==<версия> --force-reinstall и вместо версии подставить последнюю рабочую версию PyQt5.
    Ответ написан
    Комментировать
  • Как записать в переменную информацию введённую в QTextEdit по нажатию QPushButton? Расположено на QDockWidget?

    laviol
    @laviol
    Кодер-разнорабочий
    Не уверен, что именно в этом дело, но как минимум insertAll() должен быть задекорирован как @Slot() или @pyqtSlot().
    Ответ написан
  • Python, можно ли перезаписывать переменные внутри exe чтобы они сохранялись после закрытия программы?

    laviol
    @laviol
    Кодер-разнорабочий
    Сохранять значения переменных внутри .exe нельзя, что логично, ведь все его переменные начинают существовать только во время запуска. Можно, конечно, пересоздавать приложение заново при каждом изменении значений переменных, но это путь в бездну и есть способы куда проще.
    Например хранить значения во внешнем файле, а уж в каком виде, решать разработчику.
    Наиболее распространенный вариант - конфигурационный файл, созданием которого занимается приложение (либо пользователь, но лучше пускай приложение само разруливает ситуацию, когда файл отсутствует, и при надобности создает его). Формат не особо важен, но удобнее, чтобы это был известный текстовый язык разметки, который удобно и быстро можно парсить при запуске.
    Это может быть .ini файл, который спокойно парсится стандартным модулем configparser, или языки разметки типа XML, JSON (т.к. для них в Python есть стандартные модули), либо, например, YAML.
    Ответ написан
    1 комментарий
  • Почему asyncio фризит pyqt5?

    laviol
    @laviol
    Кодер-разнорабочий
    Рискну предположить, что происходит это из-за того, что asyncio.run() запускается не в отдельном потоке и перехватывает интерпретатор, пока asyncio event loop не завершит свою работу (спойлер: он не завершит).
    Возможно, вот этот тред поможет решить проблему:
    https://stackoverflow.com/questions/26270681/can-a...
    Ответ написан
    Комментировать
  • Python Как cкомпилировать в exe?

    laviol
    @laviol
    Кодер-разнорабочий
    Не хватает исходных данных, хотя бы .spec файла, возможно, что дело в нем.
    Внимательней прочитайте документацию по PyInstaller, там достаточно доступно расписано, как получить из исходников на Python вполне себе standalone приложение.
    Особое внимание стоит обратить на раздел When Things Go Wrong (т.к. большинство проблем там уже описаны):
    https://pyinstaller.readthedocs.io/en/stable/when-...
    Более того, на сегодняшний день, емнип, PyInstaller - единственный инструмент для "кроссплатформерной" сборки приложений на Python (в кавычках, потому что собирать нужно на целевой платформе, фокусы под Wine не считаются).
    В помощь различные рецепты по написанию .spec файлов для разного рода приложений:
    https://github.com/pyinstaller/pyinstaller/wiki/Recipes
    Ответ написан
    Комментировать