Форум сайта python.su
Привет всем!
Создаю клиентское подключение к websocket.
добавив строку websocket.enableTrace(True) на экран выводятся заголовки подключения.
Как их сохранить в файл для дальнейшего анализа?
#!/usr/bin/env python3
import websocket
import ssl
websocket.enableTrace(True)
ws = websocket.WebSocket(sslopt={“cert_reqs”: ssl.CERT_NONE})
ws.connect(“wss://echo.websocket.org”, origin=“test”)
ws.send(“Hello, Server”)
ws.close()
Офлайн
А стандартный способ перенаправить вывод не помогает?
some.py >main.log
Офлайн
Нет.
Насколько я понимаю это отладочная инфа, которая не является результатом.
Офлайн
Уже и так пробовал:
#!/usr/bin/env python3
import websocket
import ssl
import logging
import sys
class Tee(object):
def __init__(self, name, mode):
self.file = open(name, mode)
self.stdout = sys.stdout
def __del__(self):
self.close()
def write(self, data):
self.stdout.write(data)
self.file.write(data)
def flush(self):
self.stdout.flush()
self.file.flush()
def close(self):
if sys.stdout is self:
sys.stdout = self.stdout
self.file.close()
websocket.enableTrace(True)
ws = websocket.WebSocket(sslopt={“cert_reqs”: ssl.CERT_NONE})
ws.connect(“wss://echo.websocket.org”, origin=“test”)
ws.send(“Hello, Server”)
ws.close()
sys.stdout = Tee('/tmp/log.txt', ‘a’)
На экран печатает заголовки, а в файл не хочет хохранять
Офлайн
Novichet924Вы идете каким-то безумно сложным, а раз стрелкой не перенаправилось то и неправильным путем. Оставьте в покое stdout. Почему вы сначала stderr не попробовали?
Нет.
Насколько я понимаю это отладочная инфа,
some.py 2>main.log
Отредактировано doza_and (Март 27, 2021 11:32:06)
Офлайн
Видимо, речь про этот сторонний модуль идёт
https://pypi.org/project/websocket-client/
https://websocket-client.readthedocs.io/en/latest/
Novichet924Над скриптом напиши обёртку, которая его запускает и вывод перенаправляет в файл. Это будет самым разумным. Если модуль этого не позволяет делать, то не надо в скрипт писать костыли. Лучше написать второй скрипт, который отвечает за сохранение вывода, который изнутри сохранить невозможно.
Как их сохранить в файл для дальнейшего анализа?
Отредактировано py.user.next (Март 27, 2021 15:49:59)
Офлайн