Задать вопрос
  • Как открыть txt файл из другой папки, не указываю полного пути?

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

    Пример перехода к папке на уровень выше:
    os.path.join('..', 'папка')
    Ответ написан
    Комментировать
  • Как сделать, чтобы Python заменял только по точному совпадению?

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

    import re
    
    text1 = "Система используется код юзеров"
    text2 = "Система использует, код юзер"
    re_list = [
        ('юзер', 'пользователь'), 
        ('использует', 'юзает')
    ]
    
    for example in [text1, text2]:
        out = example
        for patt_in, patt_out in re_list:
            out = re.sub(
                '(\s+|,|\.|^)'+patt_in+'(\s|,|\.|$)', 
                '\g<1>'+patt_out+'\g<2>', 
                out
            )
            
        print(f'Before: {example}')
        print(f'After: {out}\n')



    Before: Система используется код юзеров
    After: Система используется код юзеров

    Before: Система использует код юзер
    After: Система юзает, код пользователь
    Ответ написан
    3 комментария
  • Не могу решить задачу?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    in_data = {
        'may 2017': [24, 26, 15, 10, 15, 19, 10, 1, 4, 7, 7, 7, 12, 14, 17, 8, 9, 19, 21, 22, 11, 15, 19, 23, 15, 21, 16, 13, 25, 17, 19], 
        'may 2018': [20, 27, 23, 18, 24, 16, 20, 24, 18, 15, 19, 25, 24, 26, 19, 24, 25, 21, 17, 11, 20, 21, 22, 23, 18, 20, 23, 18, 22, 23, 11]
    }
    
    for im in in_data.keys():
        print(im, len(list(filter(lambda x: x>=22 and x <=26, in_data[im]))))


    may 2017 5
    may 2018 13
    Ответ написан
    1 комментарий
  • Как на python json с offset вытащить все значения?

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

    Ну так сделайте цикл типа такого:
    LIMIT = 250
    current = 0
    has_more = True
    
    while has_more:
          res = request.get(f'https://api.hubapi.com/deals/v1/deal/paged?limit={LIMIT}&...&offset={current}')
          # .... обработка данных .....
          current += LIMIT
          has_more = res.json().get('hasMore')
    Ответ написан
    Комментировать
  • Как реализовать сервис отправки уведомлений?

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

    смс, email, browser

    - для СМС - использование СМС гейтов
    - для почты - SMTP сервер
    - для броузера - использование push-сообщений
    Ответ написан
    Комментировать
  • Как спарсить таблицу регулярками 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. Получаете.
    Ответ написан
    Комментировать