Обмен данными между двумя python скриптами

Суть

Первый скрипт запускается, ищет доступные последовательные порты и складывает в список, передаёт их другому скрипту, а далее перезагружается(не смог заставить serial.tools.list_ports искать порты в цикле).Второй скрипт принимает список и уже применяет в некоторых целях. Вопрос, как реализовать связь между скриптами, при условии, что один из них будет постоянно перезагружаться. Если есть возможность не перезагружать первый скрипт, а искать порты в цикле, так даже будет лучше

Вот пример кода:

import serial.tools.list_ports

port_list = []

def search_ports():
    ports = serial.tools.list_ports.comports()
    for port, desc, hwid in sorted(ports):
        port_list.append(port)

search_ports()

Ответы (1 шт):

Автор решения: Булат

Как оказалось этот модуль верно сканирует все порты в цикле, ошибка была в последующей части кода, там я записал новые порты в другую переменную с похожим названием, которую не обновлял для виджета OptionMenu

Вот рабочий вариант:

import serial.tools.list_ports

port_list = []

def search_ports():
    ports = serial.tools.list_ports.comports()
    for port, desc, hwid in sorted(ports):
        port_list.append(port)

search_ports()
# появился новый порт
# используем вторую функцию
def common():
    ports = serial.tools.list_ports.comports()  #
    for port, desc, hwid in sorted(ports):  # Инициализация портов(разделение строки)
        if port_list.count(port) == 0:
            port_list.append(port)
        else:
            continue
    menu = your_option_menu["menu"]
    menu.delete(0, "end")
    for string in port_list:
        menu.add_command(label=string, command=lambda value=string:your_string_var.set(value))
    print(port_list)

common()
→ Ссылка