Ответы пользователя по тегу Python
  • Как сделать вывод нескольких значений в таблицу SQIite3 and Python?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Слишком абстрактный вопрос
    Ну почитайте про SQL-запросы и сформируйте запрос вроде такого:
    SELECT t1.telegram_id, t1.text, t2.text, t3.text, t4.text, t5.text
      FROM first_table AS t1
      LEFT JOIN second_table AS t2
      ON t2.telegram_id = t1.telegram_id
      LEFT JOIN third_table AS t3
      ON t3.telegram_id = t1.telegram_id
      LEFT JOIN forth_table AS t4
      ON t4.telegram_id = t1.telegram_id 
      LEFT JOIN fifth_table AS t5
      ON t5.telegram_id = t1.telegram_id
      WHERE t1.telegram_id=<какой-то ID>
    Ответ написан
  • Как удалить слово в строке python?

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

    print("Допустим так".replace("Допустим", ""))

    регулярками:
    import re
    print(re.sub('Допустим', '', "Допустим так"))
    Ответ написан
    1 комментарий
  • Как узнать все возможные параметры, которые можно передать объекту?

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

    Пример некоего реального приложения:

    import requests
    
    class SomeService:
          def __init__(self, **my_params):
               self.my_params = my_params
    
         def some_action(self):
               response = requests.get(SOMEURL, my_params)
               return response.json()


    При этом
    service = SomeService(pages=30)
    service.some_action()

    Отработает корректно - так как в запросе передаст то что нужно, так как некий удаленный сервис принимает pages в GET-параметрах. Но из реализации нашего класса SomeService выяснить это невозможно
    Ответ написан
    Комментировать
  • Поможете с регулярными выражениями?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    У вас код синтаксически некорректен.
    Лучше вообще как-то так:
    >>> a = 'ddf%%21b#'
    >>> b = '%%$  #'
    >>> 
    >>> 
    >>> any([x.isdigit() or x.isalpha() for x in a])
    True
    >>> any([x.isdigit() or x.isalpha() for x in b])
    False
    >>>

    Если нужна проверка что входит И число, И большая, И маленькая буква - то:
    >>> a = 'fgdf1'
    >>> all([
        any([x.isdigit() for x in a]),
        any([x.isalpha() and x.islower() for x in a]),
        any([x.isalpha() and x.isupper() for x in a])
    ])
    False
    >>> a = 'ssdS2'
    True
    >>> a = '4455'
    False
    >>> a = '4##sedfsdfD'
    True


    Регулярками:
    >>> import re
    >>> bool(re.match('.*([a-z]|[A_Z]|[0-9]).*', ''))
    False
    >>> bool(re.match('.*([a-z]|[A_Z]|[0-9]).*', '$###@@*'))
    False
    >>> bool(re.match('.*([a-z]|[A_Z]|[0-9]).*', '$##e#@@*'))
    True
    >>> bool(re.match('.*([a-z]|[A_Z]|[0-9]).*', '$##34#@@*'))
    True
    >>>

    > (любого алфавита)
    Но с этим придется попотеть. Поэтому первый способ предпочтителен.
    Ответ написан
    Комментировать
  • Как спарсить xml карту сайта?

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

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Это некорректный json.
    Попробуйте почистить регулярками, как вариант:
    import re
    
    txt = '''{
        "text": ":warning: OK - serv1: Service "TrustedInstaller" (Windows Modules Installer) is not running (startup type automatic)"
    }'''
    
    cleaned_dict = {}
    for im in re.findall(r'\"(\w+)\": \"(.*)\"', txt):
      cleaned_dict[im[0]] = im[1].replace('"', "'")
    print(cleaned_dict)


    {'text': ":warning: OK - serv1: Service 'TrustedInstaller' (Windows Modules Installer) is not running (startup type automatic)"}
    Ответ написан
    Комментировать
  • Pyserial на ubuntu + arduino?

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

    Порт на windows и ubuntu виден по разному. Убедитесь что вы обращаетесь к правильному порту.
    К тому же там права на доступ выставить надо.
    Ответ написан
    Комментировать
  • Как сделать чтобы раз в час повторялся определенный код но работал и остальной код?

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

    А обычным просто читайте данные из файла
    Ответ написан
    Комментировать
  • Как можно оптимизировать код подсчета букв в строке?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    a = 'jkjkjk&&^55'
    
    count = 0
    for im in a:
        if im.isalpha():
              count += 1
    print(count)
    Ответ написан
    Комментировать
  • Что можно использовать для распознования спама в тексте?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    А фильтр Байеса не пробовали?
    https://ru.wikipedia.org/wiki/%D0%91%D0%B0%D0%B9%D...
    Ответ написан
    2 комментария
  • Почему выдает ошибку AttributeError: 'Block' object has no attribute 'index'?

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

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Потому что нужно код писать аккуратно а не как попало. Удалите или отформатируйте правильно строку
    ...
    if b>10:
        print("Impulse outside the schedule")
    exit() # <----- закомментировать или удалить или правильно отформатировать пробелами
    def f(x):
        if x<a:
    ...

    и будет счастье.
    Проблема - в ужасном коде.
    Ответ написан
    Комментировать
  • Как вытащить нужные данные из текста?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    text = '''
      Version: V3
      Subject: CN=Фамилия Имя Отчество, SURNAME=Фамилия, GIVENNAME=Имя Отчество, C=RU, ST=23 Регион, L=Город, STREET=ул. улица д. 00, OID.0.0.000.000.0=#00000000000000000000000000, OID.0.0.000.000.0=#00000000000000000000000000, EMAILADDRESS=email@gmail.com, OID.0.0.000.000.0=#00000000000000000000000000
      Signature Algorithm: 0.0.000.0.0.0.0.0, OID = 0.0.000.0.0.0.0.0
    
      ...не нужные данные...
    
      Validity: [From: Thu Oct 10 09:45:58 MSK 2019,
                   To: Sat Oct 10 09:55:58 MSK 2020]
      Issuer: CN="ООО \"РОГА И КОПЫТА\"", O="ООО \"РОГА И КОПЫТА\"", STREET=ул. улица д. 00, L=Город, ST=23 Регион, C=RU, OID.0.0.000.000.0=#00000000000000000000000000, OID.0.0.000.000.0=#00000000000000000000000000, EMAILADDRESS=email@gmail.com
      SerialNumber: [    00000000 00000000 0000]
    
    ...не нужные данные...
    '''
    
    for line in text.split('\n'):
        if 'Subject' in line:
            a = [x.split('=') for x in line.split(':')[1].split(',')]
            data = dict(zip([x[0].strip() for x in a], [x[1].strip() for x in a]))
    
    print('CN> ', data['CN'])
    print('SURNAME> ', data['SURNAME'])


    CN> Фамилия Имя Отчество
    SURNAME> Фамилия
    Ответ написан
  • Как посчитать количество запусков цикла в Python?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    ...
    count = 0
    while guess!=the_number:
        count += 1
        ...

    И поправьте форматирование в своем коде
    Ответ написан
    Комментировать
  • Где ошибка в коде замены символов строки по словарю?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Вообще - эта задача в Python так решается:
    x = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ !:.,-"
    y = "ГЗЩПБОФЪШЭАУЯЙЦДЮКНЕЖМТВСРЧЛЫИЬХ !:.,-"
    my_table = str.maketrans(x, y)
    
    text ='БЫЛ'
    text.translate(my_table)


    'ЗЛУ'
    Ответ написан
    Комментировать
  • Как расшифровать RSA с помощью Python?

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


    К примеру вот так:

    import rsa
    import base64
    
    PRIVKEY = '''<<<SOMEDATA777
    -----BEGIN RSA PRIVATE KEY-----
    MIIEogIBAAKCAQEA3bv1e8E+bR53cvDwwwAF3Yhc+g47OvFpmmb0oi/H5xV/u1us
    UCBqgC0Apz1CcAAQJM/0TrKF7alfDeAvUD2E0E8SU7UxBHc3Bsn75Gs0wt3kVzqL
    TBfBRBW/qVdcNINkAnQUrOJ784OX8bMbH1DtMbvZAoBHFOaEv5G/fUWICBARsEsl
    hSvFxCXyY4tBwDgPTP1QaF/pzlHhl2L8EVUNNjworEoG897uaDwyJbbShfMlrgZG
    zEnNFr6WYlCsHAlKoWKYq2Duag4ojPV7bh9sVyXCketlZHkYgLb0suw5jZZYuZ42
    UhPtQYNKpDmWpnrECkUD6T/1UXTRHvubrKnvywIDAQABAoIBADcHs/gf0KdyPUD4
    jThIJCyD8Fda+tY5HfVlAefSpfEzA71zFgPY17Wx9YyMBpYXXepU9hQl+FkwhNfD
    wNpQOkscpLbDrEOodq6nqG1bMf/+4/HGJNYguyVzpFqZxNd/mG2Hc64ok4yvJyGk
    SuHtysBiF4yoW3vTbjTBLl4fyI//PquJk3pWE6n30ooVs/ZDIldDYxLTzaRhjGIl
    lSjq2K2ItlsOav912euGebjQXWXAd3m0F9ngrFLjljmCrE8qgDeuFmxd7x5Czvua
    AYgTJzMSbfBCSti1xOrmQGUX+BEhXVhlmhn5slaPh6h1L71uoeipAZS21QbXXAI3
    fT5nsdkCgYEA8yxRWMfZhZzRrCv/HAwzyZUfkfBRXqy+aacO6lUnE15qPb4aE8Em
    gYFCB20hsJczKakxQUiClRCn6yOfgLnJG/vq2vR5aydV7OEXBe6bT3j4RbGuCaZZ
    /RzuehoZqSpexclDFZvk54QgmfNZjoZxf/IAt+ZN6tUL8z51j4+JS78CgYEA6W4k
    N4xE0zCLds5DakeqbD3oEE9fY5NKJIp61JR4HVBASJU/e91SPWEbrAfcMTayTav5
    hyz7vN7aEh2UAeG5945PdmiATWnROSmQN3vin4AsLmeUFJHGL4qT77k5Wt9Ql43k
    QbEyjw+wQAdxnghLoiHyozYzsZhvbq942bvgDvUCgYBo1t+PdkIq38xp/WH0VrJx
    I3DD+6cpOTKy3EqK7wF00Uzep7oYcDrItNCh4QQYXWe6e2535eoemFq8/tPCrNau
    0PKVSbebYg8inHzPmuqs3cu0SIFvOaAshy+txtjvXQwVG8tnYpnS0t03Ynpm/0Gp
    1s1Ge+115DpNucz3gvu/gwKBgDOM0FC4GGbvPI1jJb4tz3QSA9K+RJmP6HrDXjbe
    BtyqYVfmJdvr14KYlGzcW4M+ygefJ/7zLzDZoh0IDSyRNel2sxO6JkNyT/Mou6GV
    KUoCGz+wPiKAwtyy5NK2+/SWhozBmBvtzvWLCGhLfIri2BkZGCV1Ddt1h35RIAYt
    mGCVAoGAK+IfA2Nkqi09xsU1KPPJTL4P54OsEbE5fNm+hxL1jpfU3cz7VV9X+yvV
    fseNn1qkQTvC4JERIypOnkti3xpsWaedP5fHHqveSDeR6ObRRTFcM990EogN9IzE
    WOUCpOARkqvdlQO5UwP4fVgJmKERicoHjsuWOf4byZad7FjJYE4=
    -----END RSA PRIVATE KEY-----
    SOMEDATA777'''
    
    privkey = rsa.PrivateKey.load_pkcs1(
        PRIVKEY,
    )
    
    crypted_text = "qwcxZgHZ1hccWeZG6UHV3s7qLTDBtz+tUiv/qOB9gxtm9JQRXnUb+MWXxU4oU+ek0y5EMR+QTh7w u0WivMjNxmmmvpWkBkcnigsqrosqnksvV5OSmcyu8/dMDdRpT87fsmTjrBlwrXBy+r9fZqQ2eILH X0dEsUNexQy2z24FCVJRpNTwH9bXpgCJkuQKOOA5jze2dUIA+78es1f09B3dQQEEWF5jNv2NlkKa L3teqYe1StJ0V8ButejzDoXzTxjgTLA1J7rJgbiJ7zooPRZafZakZwGDO2c2bB9fGDYd90TD4Y0G mBybEs/nThjGry/F+dtxu1df0O6HgPTDnnol6Q=="
    crypted_text = base64.b64decode(crypted_text.encode())
    
    message = rsa.decrypt(crypted_text, privkey)
    print('DECRYPTED> ', message.decode())


    DECRYPTED> PHP is my secret love.
    Ответ написан
    5 комментариев
  • Как посчитать продолжительность сессии подключения?

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

    Далее читаете список построчно
    Если в строке есть телефон и ' Connect' - парсите в datetime.datetime и запоминаете время в переменной connect
    Если в строке есть телефон и 'Disconect' - парсите время в disconnect. Если при этом переменная connect содержит значение - выводите разницу между diconnect и connect и устанавливаете переменную connect в None
    Бегите дальше до конца списка
    Ответ написан
    Комментировать
  • Как можно ускорить работу данной программы?

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

    что-то вроде:
    PhoneOperator:
        code = CharField()
        name = 
        region = 
    
    PhoneRange:
       minval = BigIntegerField()
       maxval = BigIntegerField()
       operator = ForeignKey(PhoneOperator)
    
    Тогда
    my_operator = PhoneOperator.objects.filter(
        code=my_number[0:3],
        phonerange__minval__lte=my_number[3:],
        phonerange__maxval__gte=my_number[3:]
    )
    Ответ написан
    2 комментария
  • Как получить данные по 1 параметру из CSV?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    import csv
    
    ID = 1
    
    with open('users.csv') as csvfile:
        reader = csv.DictReader(csvfile, delimiter='|')
        for row in reader:
            if int(row['id']) == ID:
                print(f'{row["name"]} {row["nick"]}')
    Ответ написан
    Комментировать
  • Как делать Ajax запросы к Python файлам?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    import requests
    
    url = 'http://google.com/favicon.ico'
    r = requests.get(url, allow_redirects=True)
    open('google.ico', 'wb').write(r.content)
    Ответ написан
    Комментировать