Ответы пользователя по тегу Python
  • Как однозначно определить, что строка захэшированна?

    @Evgeny_A Автор вопроса
    Все оказалось просто. Нужно было не на хеширование проверять, а на то, что URL валидный. Самое быстрое решение:

    import validators
    validators.url("http://google.com")
    Ответ написан
    Комментировать
  • Как хранить и искать URL адреса в MySQL?

    @Evgeny_A Автор вопроса
    Спасибо Arman и Папа Стифлера за подсказки. Решение, которое подошло полностью:
    1. Добавил в таблицу новый столбец типа varchar
    2. Создал для этой колонки самый обычный индекс
    3. Написал скрипт на Python, который создает hash из URL для каждой строки
    4. Переписал скрипт проверяющий налчие URL в базе так, чтобы он использовал hash

    Теперь, чтобы запросы на существование записи вместо 60 секунд, выполняются в среднем меньше чем за секунду для таблицы с > 1 млн. строк.
    Ответ написан
    Комментировать
  • Как подружить Keras и Multiprocessing?

    @Evgeny_A Автор вопроса
    В общем Keras устроен так, что единственный способ совместить его с Multiprocessing, это загружать модель отдельно для каждого процесса. Если процессы создаются для каждого "мелкого" кода, как, например, в моем случае для обработки одного изображения, то можно перекроить скрипт так, чтобы процесс создавался не для отдельной картинки, а я для их группы (в моем случае я одновременно 20 картинок загружал). Таким образом требования к памяти станут лояльнее и можно уложить в имеющиеся ресурсы.
    Ответ написан
    Комментировать
  • Какой лучший способ передачи данных между PHP и Python скриптами?

    @Evgeny_A Автор вопроса
    Решение, найденное с подсказки xmoonlight

    Значит в PHP файл пихаем это:

    $sock = stream_socket_client('unix:///tmp/echo.sock', $errno, $errst); 
    fwrite($sock, $type); 
    $response = fread($sock, 1024); 
    fclose($sock);

    А в Python файл пихаем это:

    # Адрес файла, который будет мостиком для общения между PHP и Python
    SERVER_PATH = '/tmp/echo.sock'
    
    # Если файл уже есть, его надо удалять
    if os.path.exists(SERVER_PATH):
    
        os.remove(SERVER_PATH)
    
    # Создаем новый UNIX сервер
    server_socket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
    server_socket.bind(SERVER_PATH)
    server_socket.listen()
    
    while True:
    
        client, adress = server_socket.accept()
        message = client.recv(1024)
        # Печатаем входящее сообщение
        print('received:', message.decode("utf-8"))
        # Отправляем ответ 
        client.send('This is my Response!'.encode())
    
    client.close()
    server_socket.close()
    print('UNIX сервер закрыт!')

    Запускаем Python файл из под того же пользователя, что и PHP файл и вуаля, все работает.
    Ответ написан
    3 комментария
  • Как установить TensorFlow 1.5?

    @Evgeny_A Автор вопроса
    Проблему решил, переключив эмуляцию сервера (у меня VPS) на Host-passthrough (было host-model).
    Ответ написан
    Комментировать
  • Как в selenium записать HTML в файл, а потом его прочесть?

    @Evgeny_A Автор вопроса
    Проблема была в кодировке. Решение в том, чтобы записать файл в явной кодировке.

    html = html.encode('UTF-8')
    print(type(str(html)))
    f.writelines(str(html)) 
    f.close()
    Ответ написан
    Комментировать