Задать вопрос
  • Не получается переопределение метода?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Ну, так - вы переопределили метод __init__ - откуда теперь там "x" взяться...
    З.Ы. и почитайте про именования классов в Python по pep8
    Ответ написан
  • Как использовать данные из таблиц Excel в скрипте Python?

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

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

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Как вариант:
    import numpy as np
    
    A = [[1,2], [3,4]]
    
    def pad_el(el): 
        return np.stack( 
            ( 
                np.zeros(3), 
                np.pad([el], 1, mode='constant'), 
                np.zeros(3) 
            ), axis=1)
    
    out_array = []
    for i in range(len(A)): 
        row = [] 
        for j in range(len(A[i])):
            if len(row) == 0:
                row = pad_el(A[i][j])
            else:
                row = np.block([row, pad_el(A[i][j])])
        if len(out_array) == 0:
            out_array = row
        else:
            out_array = np.vstack((out_array, row))
    print(out_array)

    [[0. 0. 0. 0. 0. 0.]
     [0. 1. 0. 0. 2. 0.]
     [0. 0. 0. 0. 0. 0.]
     [0. 0. 0. 0. 0. 0.]
     [0. 3. 0. 0. 4. 0.]
     [0. 0. 0. 0. 0. 0.]]

    Для
    A = [[1,2,3], [3,4,5], [6,7,8]]
    [[0. 0. 0. 0. 0. 0. 0. 0. 0.]
     [0. 1. 0. 0. 2. 0. 0. 3. 0.]
     [0. 0. 0. 0. 0. 0. 0. 0. 0.]
     [0. 0. 0. 0. 0. 0. 0. 0. 0.]
     [0. 3. 0. 0. 4. 0. 0. 5. 0.]
     [0. 0. 0. 0. 0. 0. 0. 0. 0.]
     [0. 0. 0. 0. 0. 0. 0. 0. 0.]
     [0. 6. 0. 0. 7. 0. 0. 8. 0.]
     [0. 0. 0. 0. 0. 0. 0. 0. 0.]]
    Ответ написан
    Комментировать
  • Как фиксировать показания водомеров и отправлять на емейл?

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

    Как вариант - можно использовать чисто программное решение. Поскольку вы живете один, - то каждый месяц набегает примерно одинаковое количество израсходованной воды. По истории можете глянуть да посчитать сколько у вас выходит в среднем, заодно прикинуть сезонность - сколько выходит в среднем летом, а сколько - зимой, раз у вас много свободного времени.
    Затем настроить периодическую отправку прогнозных показаний с поправкой на сезонность + инженерную погрешность, в определенные дни на емейл в управляющую компанию.
    Время от времени - раз в несколько месяцев просто проверять насколько прогнозные показания разбежались с реальными - и просто корректировать их в одну или другую сторону...
    Ответ написан
    Комментировать
  • Как избавиться от ошибки миграций в Django?

    fox_12
    @fox_12 Куратор тега Django
    Расставляю биты, управляю заряженными частицами
    - изменить поле на
    group = models.ForeignKey(Techgroup, on_delete=models.CASCADE, related_name="group", null=True, blank=True)

    - сделать миграцию.

    - пробежаться по объектам модели Technology, назначив соотвествующие Group

    - сделать еще одну миграцию, изменив поле на
    group = models.ForeignKey(Techgroup, on_delete=models.CASCADE, related_name="group")
    Ответ написан
    5 комментариев
  • Можно ли починить такой фонарь?

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

    fox_12
    @fox_12 Куратор тега Django
    Расставляю биты, управляю заряженными частицами
    А в чем сложности-то?:
    class Product(models.Model):
          ...
    
    class ProductPhoto(models.Model):
         product = models.ForeignKey(Product)
         photo = models.ImageField()
         ...
    Ответ написан
    3 комментария
  • Как в случае отсутствия автоматически установить модуль в python3?

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

    - при установке нового модуля - добавлять его в requirements.txt вместе с номерами версий
    - при запуске скрипта выполнять что-то вроде:
    pip install -r requirements.txt && python ./your_script.py

    Будете делать это из кода - будет много головняка - от конфликта версий установленных модулей, до проблем с запуском самого кода.
    Ответ написан
    Комментировать
  • Как импортировать html в python скрипт?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    html_text = """
    <table class="content-table">
    ...
    </table>
    """
    
    import lxml.html
    
    root = lxml.html.fromstring(html_text)
    
    header = [x.text for x in root.xpath('.//tr/th')]
    
    for item in root.xpath('.//tr'):
        td = [x.text for x in item.xpath('.//td')]
        if td:
            print(dict(zip(header, td)))


    {'Год': 'след 12m. (прогноз)', 'Дивиденд (руб.)': '83.71', 'Изм. к пред. году': '+53.2%'}
    {'Год': '2019', 'Дивиденд (руб.)': '54.64', 'Изм. к пред. году': '+28.78%'}
    {'Год': '2018', 'Дивиденд (руб.)': '42.43', 'Изм. к пред. году': '-16.13%'}
    {'Год': '2017', 'Дивиденд (руб.)': '50.59', 'Изм. к пред. году': '+361.59%'}
    {'Год': '2016', 'Дивиденд (руб.)': '10.96', 'Изм. к пред. году': '+3.59%'}
    {'Год': '2015', 'Дивиденд (руб.)': '10.58', 'Изм. к пред. году': '+28.55%'}
    {'Год': '2014', 'Дивиденд (руб.)': '8.23', 'Изм. к пред. году': '-4.3%'}
    {'Год': '2013', 'Дивиденд (руб.)': '8.6', 'Изм. к пред. году': '+21.47%'}
    {'Год': '2012', 'Дивиденд (руб.)': '7.08', 'Изм. к пред. году': '+41.04%'}
    {'Год': '2011', 'Дивиденд (руб.)': '5.02', 'Изм. к пред. году': '-23.48%'}
    {'Год': '2010', 'Дивиденд (руб.)': '6.56', 'Изм. к пред. году': '+48.42%'}
    {'Год': '2009', 'Дивиденд (руб.)': '4.42', 'Изм. к пред. году': '-21.77%'}
    {'Год': '2008', 'Дивиденд (руб.)': '5.65', 'Изм. к пред. году': '+22.83%'}
    {'Год': '2007', 'Дивиденд (руб.)': '4.6', 'Изм. к пред. году': '+360%'}
    {'Год': '2006', 'Дивиденд (руб.)': '1', 'Изм. к пред. году': 'n/a'}
    {'Год': '2005', 'Дивиденд (руб.)': '0', 'Изм. к пред. году': '-100%'}
    {'Год': '2004', 'Дивиденд (руб.)': '2', 'Изм. к пред. году': 'n/a'}


    в переменные как копировать - уже сами догадаетесь...
    Ответ написан
    3 комментария
  • Можно ли через python создать и сохранить файл в формате png или jpg?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    from matplotlib.pyplot import imshow
    %matplotlib inline
    import cv2
    import numpy as np
    
    RED = (255, 0, 0)
    GREEN = (0, 255, 0)
    BLUE = (0, 0, 255)
    
    
    # создать изображение 100x100
    image = np.zeros((100, 100, 3), np.uint8)
    
    # залить его зеленым цветом
    color = GREEN
    out_color = tuple(reversed(color))
    image[:] = out_color
    
    # вывести на экран
    imshow(image)
    
    # сохранить в файл image.jpg
    cv2.imwrite('image.jpg', image)


    5d2f652576d80478574798.jpeg

    Если надо прям в памяти хранить файл в формате jpg- то дополняете таким кодом:
    is_success, buffer = cv2.imencode(".jpg", image)
    io_buf = io.BytesIO(buffer)
    
    # decode
    decode_img = cv2.imdecode(np.frombuffer(io_buf.getbuffer(), np.uint8), -1)
    Ответ написан
  • Нужен ли Backend разработчику javascript?

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

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

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    virtualenv -p <путь к python нужной версии> venv
    Ответ написан
    Комментировать
  • Почему 24 портов коммутаторе?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Потому что производители изготавливают коммутаторы с использованием микросхем определенных номенклатур.
    Конструкторам свичей неудобно брать 24 коммутационных микросхемы, и разводить на каждую дорожки и лепить обвес, а производителям микросхем не выгодно выпускать широкую номенклатуру микросхем на коммутацию 1,2,3,4,5,6,7,8.. и сколько угодно выводов. Затраты на разработку и перенастраивание конвейера будут негуманными, а также тестирование, логистику и прочее, взвинчивая цену на конечный продукт.
    Поэтому производитель микросхем выпускает некую стандартную номенклатуру микросхем на коммутацию 4/8/16 каналов, к примеру. А конструкторы свичей уже используют их комбинацию при проектировании.
    К примеру если надо 24 порта - то берут три 8-портовых микросхемы - и проектируют уже свич на их основе, используя возможности микросхем по-максимуму с тех же экономических соображений.
    К примеру чтобы сделать 25-й порт нужно ставить еще одну 8-портовую микросхему, делать ей обвязку, и использовать 1/8 ее возможностей, что экономически не имеет смысла.
    Ответ написан
    Комментировать
  • Как получить определенные данные из строки python?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    my_list =[{'id': 1, 'first_name': 'Имя', 'last_name': 'Фамилия'}, ]
    
    for im in my_list:
         print(im['first_name'], im['last_name'])


    Имя Фамилия


    P.S. Ну простейшие же вопросы. Откройте хотя бы учебник по Питону для приличия..
    Ответ написан
    Комментировать
  • Как пробросить порт из контейнера с MongoDB в контейнер с NodeJS в Docker?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Так неправильно:
    mongoose.connect('mongodb://127.0.0.1:27017/kondrackii


    попробуйте так:
    mongoose.connect('mongodb://mongo:27017/kondrackii

    если запускаете с docker-compose

    это можно убрать
    network_mode: host
    Ответ написан
    4 комментария
  • Как отправить консольную команду на дедик?

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

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    .\py-venv\Scripts\jupyter-notebook.exe
    из директории C:\JN
    Ответ написан
    Комментировать
  • Как преобразовать строку в список в PYTHON?

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

    например 2 элемент

    >>> import json
    >>> str1 = "['Первое', 'Второе', 'Третье', 'Четвертое']"
    >>> json.loads(str1.replace("'", '"'))[1]
    'Второе'


    P.S. В оригинале у вас не совсем корректный список в строке - "Первое" не закрывается кавычкой.
    ['Первое, 'Второе', 'Третье', 'Четвертое']
    Если это не "бага а фича" . - то нужны дополнительные шаги для приведения списка к корректному виду.
    Ответ написан
    Комментировать