Прежде всего, отправка вывода в NULL, как упоминалось в других вопросах, работает для вывода оболочки Python, но не мешает самой программе c.
Давайте начнемс тем, что происходит,
цель состоит в том, чтобы написать Python-программу для решения определенных математических задач.
Эта программа использует SDPAp (SemiDefinite Programming Algorithm - Python) модуль Python, который сам по себе являетсяне более чем обертка для SDPA.SDPA - это решатель для SDP, написанных на C ++.
SDPAp-модуль имеет возможность предотвратить печать некоторых выходных данных, но все еще остается мусор.Этот вывод поступает из самого SDPA, и до сих пор каждая попытка предотвратить это не удалась.
Программа python должна распечатывать решения для консоли, записывать их в какой-то файл и т. Д., Не помогает решить проблему, поскольку эта программа будет использоваться в качестве подпрограммы позже.
Структура
Программа Python - должна писать в консоли
Программа Python - вызываетSDPAp-модуль, являющийся Python-интерфейсом для SDPA, являющегося программой C ++, записывает в консоль
Программа C ++ ничего не должна выводить.
Поскольку задан этот вопроскосвенно реакция может занять некоторое время.
sys.stdout = devnull
запрещает вывод Python, не запрещает вывод SDPA
Не используются ни subprocess
, ни os.system
.