Задать вопрос
  • Как спарсить таблицу регулярками python?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Ну как бы регулярки для такого далеко не самый подходящий инструмент
    >>> import lxml.html
    >>> str1 = """
    ... <tr>
    ...           <td>99</td>
    ...           <td>Name</td>
    ...           <td>ЕГЭ</td>
    ...           <td>268</td><td>90</td><td>91</td><td>87</td>
    ...           <td></td>
    ...           <td>Копия</td>
    ...           <td>Нет</td>
    ...         </tr>"""
    >>> root = lxml.html.fromstring(str1)
    >>> [x.text for x in root.xpath('.//td')]
    ['99', 'Name', 'ЕГЭ', '268', '90', '91', '87', None, 'Копия', 'Нет']
    Ответ написан
    Комментировать
  • Почему не запускается контейнер сайта?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Как минимум зайдите внутрь контейнера и запустите что вы там написали.
    У вас в requirements.txt только bottle==0.12.17, а вы еще часть модулей используете - тот же psycopg2. Он у вас и валится с ошибкой после запуска.
    Ответ написан
    Комментировать
  • Как в Django переводить изображения в текст?

    fox_12
    @fox_12 Куратор тега Django
    Расставляю биты, управляю заряженными частицами
    Из бесплатных - к примеру Tesseract OCR
    Либо же если возможности Tesseract не устраивают - попробуйте облачные решения - тот же FineReader: ABBYY Cloud OCR SDK
    Ответ написан
    1 комментарий
  • Не получается установить модуль pyinstaller,что делать?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Попробуйте исключить кириллицу в пути
    Ответ написан
    Комментировать
  • Как сделать вывод в одну строку?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    ... "message": "{user_list}, вы были созваны для привлечения внимания!".format(
    user_list=','.join(users["profiles"][i]["first_name"])), ...
    Ответ написан
  • Почему только после добавления задержки стали нормально отображаться цифры 1234 на семисегментных индикаторах?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Связано с динамической индикацией быстрее всего - сегменты не успевают гаснуть при быстром переключении за счет переходных процессов...
    Ответ написан
    Комментировать
  • Удаление файла после вывода содержимого, в чём ошибка?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Открываете файл
    str(randFileIndex) + '.txt'
    так и удаляйте его же
    os.remove(str(randFileIndex) + '.txt')
    Ответ написан
    Комментировать
  • Как выбрать случайный файл(фото) из директории (python)?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Вам намекают что выполнить нужно примерно эту операцию:
    import os
    
    DIR = 'arts'
    open(os.path.join(DIR, random.choice(os.listdir(DIR))))
    Ответ написан
    Комментировать
  • Проверка строки по регулярному выражению в Python3?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Для python запись регулярки немного другая:
    >>> import re
    >>> pattern = '^i3413.+.zip$'
    >>> text = 'i341320181130220019.zip'
    >>> res = re.search(pattern, text, re.IGNORECASE)
    >>> res
    <_sre.SRE_Match object at 0x108076b90>
    Ответ написан
    1 комментарий
  • Как в django "подгрузить" данные без обновления страницы?

    fox_12
    @fox_12 Куратор тега Django
    Расставляю биты, управляю заряженными частицами
    Загуглите волшебное слово AJAX
    Ответ написан
    Комментировать
  • Программа в фоне на Python?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Добавьте в crontab выполнение вашего скрипта раз в 5 минут
    Ответ написан
    3 комментария
  • Что выбрать: информационную безопасность или программирование?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Ну тут определитесь что вам больше нравится, - код писать, или отчеты и заниматься бумажной работой.
    Ответ написан
    Комментировать
  • Как можно построчно считать элементы таблицы?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    import re
    import pprint
    import requests
    import lxml.html
    
    URL = 'http://www.asu.ru/timetable/students/32/2129436778/'
    
    pp = pprint.PrettyPrinter(indent=4)
    res = requests.get(URL)
    root = lxml.html.fromstring(res.text)
    table = list()
    elems = root.xpath('.//tr[@class="schedule-date"]|.//tr[@class="schedule-time"]')
    
    curr_date = ''
    
    for el in elems:
        if el.get('class') == 'schedule-date':
            curr_date = el.xpath('.//span[1]')[0].text
    
        if el.get('class') == 'schedule-time':
            out = re.sub(' +', ' ', ''.join(el.itertext()))
            out = re.sub('^\s+', '', out)
            out = re.sub('\n+', '', out)
        table.append({'date': curr_date, 'info': out})
    pp.pprint(table)


    [   {   'date': 'Понедельник',
            'info': '4   13:20 - 14:50     лек. Физические методы исследования    '
                    'проф. Смагин В.П.   500\xa0К       дата изменения: 08.04.2019 '
                    '11:21  свободные аудитории    '},
        {   'date': 'Понедельник',
            'info': '2   09:40 - 11:10    а)  лаб. Новые информационные '
                    'технологии    преп. Кушнир Е.Ю.   417\xa0К       дата '
                    'изменения: 24.04.2019 11:16  свободные аудитории    '},
        {   'date': 'Понедельник',
            'info': '3   11:20 - 12:50     пр.з. Социология    доц. Артюхина '
                    'В.А.   311а\xa0К       дата изменения: 24.04.2019 11:13  '
                    'свободные аудитории    '},
        {   'date': 'Вторник',
            'info': '3   11:20 - 12:50     пр.з. Социология    доц. Артюхина '
                    'В.А.   311а\xa0К       дата изменения: 24.04.2019 11:13  '
                    'свободные аудитории    '},
        {   'date': 'Вторник',
            'info': '1   08:00 - 09:30     пр.з. Педагогика    доц. Зацепина '
                    'О.В.   311а\xa0К       дата изменения: 24.04.2019 11:11  '
                    'свободные аудитории    '},
        {   'date': 'Вторник',
            'info': '2   09:40 - 11:10     пр.з. Педагогика    доц. Зацепина '
                    'О.В.   311а\xa0К       дата изменения: 24.04.2019 11:07  '
                    'свободные аудитории    '},
        {   'date': 'Вторник',
            'info': '3   11:20 - 12:50     пр.з. Кристаллохимия    доц. Стручева '
                    'Н.Е.   106а\xa0К       дата изменения: 24.04.2019 11:06  '
                    'свободные аудитории    '},
        {   'date': 'Среда',
            'info': '3   11:20 - 12:50     пр.з. Кристаллохимия    доц. Стручева '
                    'Н.Е.   106а\xa0К       дата изменения: 24.04.2019 11:06  '
                    'свободные аудитории    '},
        {   'date': 'Среда',
            'info': '3   11:20 - 12:50    а)  лаб. Новые информационные '
                    'технологии    преп. Кушнир Е.Ю.   419\xa0К       дата '
                    'изменения: 08.04.2019 11:21  свободные аудитории    '},
        {   'date': 'Среда',
            'info': 'б)  лаб. Новые информационные технологии    доц. Геньш К.В.   '
                    '417\xa0К       дата изменения: 08.04.2019 11:21  свободные '
                    'аудитории    '},
        {   'date': 'Среда',
            'info': '4   13:20 - 14:50    б)  лаб. Новые информационные '
                    'технологии    доц. Геньш К.В.   417\xa0К       дата '
                    'изменения: 24.04.2019 11:18  свободные аудитории    '},
        {   'date': 'Четверг',
            'info': '4   13:20 - 14:50    б)  лаб. Новые информационные '
                    'технологии    доц. Геньш К.В.   417\xa0К       дата '
                    'изменения: 24.04.2019 11:18  свободные аудитории    '},
        {   'date': 'Четверг',
            'info': '2   09:40 - 11:10    а)  пр.з. Аналитическая химия    доц. '
                    'Лейтес Е.А.   500\xa0К       дата изменения: 29.04.2019 '
                    '10:56  свободные аудитории    '},
        {   'date': 'Четверг',
            'info': '3   11:20 - 12:50     пр.з. Физические методы исследования    '
                    'проф. Смагин В.П.   521\xa0К       дата изменения: 24.04.2019 '
                    '11:15  свободные аудитории    '},
        {   'date': 'Четверг',
            'info': '4   13:20 - 14:50    б)  пр.з. Аналитическая химия    проф. '
                    'Смагин В.П.   508\xa0К       дата изменения: 29.04.2019 '
                    '10:55  свободные аудитории    '},
        {   'date': 'Пятница',
            'info': '4   13:20 - 14:50    б)  пр.з. Аналитическая химия    проф. '
                    'Смагин В.П.   508\xa0К       дата изменения: 29.04.2019 '
                    '10:55  свободные аудитории    '},
        {   'date': 'Пятница',
            'info': '1   08:00 - 09:30    а)  лаб. Аналитическая химия    доц. '
                    'Лейтес Е.А.   509\xa0К       дата изменения: 29.04.2019 '
                    '10:55  свободные аудитории    '},
        {   'date': 'Пятница',
            'info': 'б)  лаб. Аналитическая химия    проф. Смагин В.П.   508\xa0'
                    'К       дата изменения: 29.04.2019 10:55  свободные '
                    'аудитории    '},
        {   'date': 'Пятница',
            'info': '2   09:40 - 11:10    а)  лаб. Аналитическая химия    доц. '
                    'Лейтес Е.А.   509\xa0К       дата изменения: 29.04.2019 '
                    '10:54  свободные аудитории    '},
        {   'date': 'Пятница',
            'info': 'б)  лаб. Аналитическая химия    проф. Смагин В.П.   508\xa0'
                    'К       дата изменения: 29.04.2019 10:53  свободные '
                    'аудитории    '},
        {   'date': 'Пятница',
            'info': '3   11:20 - 12:50    а)  лаб. Аналитическая химия    доц. '
                    'Лейтес Е.А.   509\xa0К       дата изменения: 29.04.2019 '
                    '10:53  свободные аудитории    '},
        {   'date': 'Пятница',
            'info': 'б)  лаб. Аналитическая химия    проф. Смагин В.П.   508\xa0'
                    'К       дата изменения: 29.04.2019 10:52  свободные '
                    'аудитории    '},
        {   'date': 'Пятница',
            'info': '4   13:20 - 14:50     лек. Физические методы исследования    '
                    'проф. Смагин В.П.   500\xa0К       дата изменения: 08.04.2019 '
                    '11:21  свободные аудитории    '}]
    Ответ написан
    1 комментарий
  • Возможно лт узнать местоположение человека в PYTHON?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Возможно.

    1. Берете документацию по вашему устройству, в части обращения к GPS или где вы там данные местоположения читать собрались.
    2. Читаете каким образом из него получить нужные данные.
    3. Получаете.
    Ответ написан
    Комментировать
  • Как бороться с ошибкой OverflowError: Python int too large to convert to SQLite INTEGER?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    1. Использовать текстовое поле для хранения. Просто делать преобразование типов.
    2. Использовать более подходящую БД (Postgres, MySQL)
    Ответ написан
    Комментировать
  • Почему когда достаёшь список из матрицы его значение меняеться?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Потому что вы выводите 2-й столбец матрицы (нумерация столбцов идет с нуля). В вашем примере там все единицы.
    Ответ написан
  • Как эффективно использовать Docker + Docker-compose при разработке?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    но к ним нельзя подключиться извне (из-за использования networks, а как открыть нетворк -
    догадаться нужно самому)

    А через директивы ports - разве не прокидываются нужные порты из контейнеров наружу?

    При внесении каких-то изменений в основное приложение
    можно лишь надеяться что они когда-то появятся в контейнере

    Если вы вносите изменения в проект который примаплен через volume - то контейнер их тут же видит.
    Умеет ли ваше приложение видеть что локальные файлы изменились, и применять их - это уже другой вопрос.
    Но даже если не умеет - нет никаких проблем перестартануть нужный контейнер после внесения каких-либо изменений.

    Можно пять раз удалить контейнер с приложением, потом десять раз удалить образ
    никакие изменения никуда не попадут.

    Не знаю как у вас построено - но приведу насчет примеров с проектами на python.
    В Python создается папка с виртуальным окружением, куда устанавливаются все необходимые библиотеки для работы. Эта папка мапится вместе с проектом в контейнер. При этом используется контейнер python из стандартного образа на все проекты, а виртуальное окружение - из примапленной директории. Нет необходимости ничего дополнительно устанавливать в контейнеры. Поэтому что вы там пытаетесь делать с образами - непонятно...

    Использовать при этом виртуальное окружение на локальной машине, запуская приложение через него - нельзя,
    потому что нетворк баз данных где-то там локальный.

    Ну тут определиться - используете докер для этого, или виртуальное окружение на своей машине.
    Если хотите одновременно использовать и то и другое - прокидывайте порты.
    Ответ написан
    3 комментария
  • Как сделать построчный вывод python?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Так - что-ли?:
    import json
    for im in json.loads(f'[{text}]'.replace('\'', '"')):
       if len(im)>5 and len(im)<10:
          print(im)


    либо так:

    import ast
    for im in filter(lambda x: len(x)>5 and len(x)<10, ast.literal_eval(text)):
        print(im)


    Вывод:
    Hockey
    Soccer
    Ответ написан
  • Как запускать задачи асинхронно по мере поступления?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    2 комментария