Ответы пользователя по тегу Python
  • Как связаться с сервером на клиенте Electron?

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

    Есть
    Можно ли использовать Node.js

    Можно
    и есть ли в Node.js сокеты?

    Есть

    Вы определитесь с архитектурой. С вашего приложения можно делать запросы как AJAX с помощью REST, так и вебсокеты организовать.
    Ответ написан
  • Не получается установить модуль pyinstaller,что делать?

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

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

    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>
    Ответ написан
  • Программа в фоне на Python?

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

    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  свободные аудитории    '}]
    Ответ написан
  • Возможно лт узнать местоположение человека в 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 из стандартного образа на все проекты, а виртуальное окружение - из примапленной директории. Нет необходимости ничего дополнительно устанавливать в контейнеры. Поэтому что вы там пытаетесь делать с образами - непонятно...

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

    Ну тут определиться - используете докер для этого, или виртуальное окружение на своей машине.
    Если хотите одновременно использовать и то и другое - прокидывайте порты.
    Ответ написан
  • Как сделать построчный вывод 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
    Расставляю биты, управляю заряженными частицами
  • Как улучшить код?

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

    К примеру так:
    import math
    import operator
    
    def calc():
        op = input("Select an operator: + - * / ** √\n")
        
        if op in ['√']:
            num = float(input('Enter a number: '))
            res = f'√{num} = {math.sqrt(num)}'
        else:
            num1 = float(input("Enter the first number...\n"))
            num2 = float(input("Enter the second number...\n"))
            res = {
               '+': f'{num1} + {num2} = {operator.add(num1, num2)}',
               '-': f'{num1} - {num2} = {operator.sub(num1, num2)}',
               '*': f'{num1} * {num2} = {operator.mul(num1, num2)}',
               '/': f'{num1} / {num2} = {operator.truediv(num1, num2)}',
               '**': f'{num1} ** {num2} = {operator.pow(num1, num2)}',
            }.get(op, 'Unknown operation')
        print(res)
    
    if __name__ == '__main__':
        print("This is a simple calculator on python")
        while True:
            calc()
            if input("Calculation finished. Do another? (Y/N)\n").lower() != 'y':
                break

    А можно и мой вариант улучшить.
    Ответ написан
  • Почему ,когда в if переменная z=0, не начинается if сверху с условием if l=='ru' and z==0:?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Потому что к примеру когда вы тут вводите 'y' - то интерпретатор присваивает z значение равное нулю, и со спокойной совестью завершает работу, так как программа у вас заканчивается по выходу из условия, и никакого продолжения не будет.
    ...
    if z==1:
        yr()
        v=str(input("Вы хотите продолжить y-yes/n-no :"))
        if v == 'y':
            z=0
    ...

    З.Ы. Почитайте еще про организацию кода на Python.
    Ответ написан
  • Как генерировать ссылку на запрос в гугле на python?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Простой запрос в гугле выдает к примеру такую библиотеку:
    https://python-googlesearch.readthedocs.io/en/latest/

    Использование проще некуда:
    # Get the first 20 hits for: "Breaking Code" WordPress blog
    from googlesearch import search
    for url in search('"Breaking Code" WordPress blog', stop=20):
        print(url)
    Ответ написан
  • Как в python получить значение div'а с известным id который находится в других тегах?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    from lxml import html
    
    tree = html.fromstring('<содержимое какой-то страницы>')
    
    tree.xpath('.//div[@id="<какой-то определенный id>"]')[0].text
    Ответ написан
  • Как достать данные, если div пустой, а на сайте в этом divе отображаются данные?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Навскидку:
    import os
    from selenium import webdriver
    
    DRIVER_PATH = os.path.join('c:\\', 'utils', 'chromedriver.exe')
    
    options = webdriver.ChromeOptions()
    options.add_argument('headless')
    options.add_argument('start-maximized')
    options.add_argument('window-size=2048x5000')
    
    browser = webdriver.Chrome(executable_path=DRIVER_PATH, options=options)
    
    browser.get('https://lime-shop.ru/shops/moskva/')
    browser.implicitly_wait(10)
    
    for el in browser.find_elements_by_xpath("//div[@class='shops__place']"):
        print(el.text)
        print('-' * 30)


    5ceedbefac606400592684.jpeg
    Ответ написан
  • Нужна математика для python?

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

    Из других сфер применения - ИИ, нейронные сети, обработка образов, анализ данных, статистика, моделирование (физ. процессов, биология, хим. процессов и т.п.), и т.д. - вполне себе нужна...
    Ответ написан