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

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    значит ошиблись где-то
    Ответ написан
    Комментировать
  • Как в Python 3 изменить голос?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Я сам не пробовал. но вот нашлась либа на первых секундах поиска: https://pypi.org/project/pyvoicechanger/
    Вы ее смотрели?
    Ответ написан
  • Как в Python присвоить нескольким переменным одинаковое значение?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    огда запись a, b, c = [[]] * 3 не подойдёт, так как хоть для каждой переменной и создастся отдельный пустой список, но из-за того, что все они будут внутри ещё одного списка алгоритм не будет правильно работать.

    Не отдельный, а тот е самый. И всё будет правильно работать, разве что все переменные получат одини тот же пустой список.
    Однако, если вам нужен такой грязный код и вы при этом экономите на длине строки, значит что-то вы делаете неправильно.
    locals().update({k:[] for k in 'abcd'})
    Такой код только запутывает, а огромное число одинаковых переменных говорит, что вам их лучше положить в словарь или матрицу.
    Ответ написан
    5 комментариев
  • Как найти в матрице средний или два средних столбца?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    m3 = [
        [11, 12, 13],
        [21, 22, 23],
        [31, 32, 33],
    ]
    m4 = [
        [11, 12, 13, 14],
        [21, 22, 23, 24],
        [31, 32, 33, 34],
    ]
    mid = lambda m: [
        row[
            (len(m[0]) - 1) // 2
            :len(m[0]) // 2 + 1
        ] 
        for row in m
    ]
    assert mid(m3) == [[12], [22], [32]]
    assert mid(m4) == [[12, 13], [22, 23], [32, 33]]
    Ответ написан
  • Как в джанго работают пустые классы?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Ну, во-первых, он не пустой. Там классовый атрибут есть и докстринг.
    Во-вторых, этот класс наследует всё от двух других классов. В этом его смысл. Если у папы и у... второго папы были атрибуты, то "сынок" унаследует их все. Вот так вот. Изучайте ООП.
    Ответ написан
    Комментировать
  • Как оставить файлы в пакете?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Читайте, пожалуйста, документацию. Там всё написано.
    Ответ написан
    Комментировать
  • Метод list() в Python возвращает непустой список. Почему так?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Типичная ошибка, которая рассматривается в каждом учебнике по питону.
    Во-первых, list - это не метод, а тип, который инстанцируется в список, если его вызвать.
    Во-вторых, вот в этой строчке def __init__(self, elements=list()): создаётся список. Он создаётся оин единственный раз при объявлении класса. Значение этого списка будет присвоено аргументу elements по умолчанию при каждом вызове конструктора без указания этого аргумента.
    То есть один и тот же список будет сохранён в атрибутах всех объектов этого типа, которые были инстанцированы без указания параметра.
    У всесх ваших таких экземплярах внутри ссылка на один и тот же список. Если через одну ссылку в список добавить элеенты, то через другую ссылку доступен тот е самый список с уже добавленными элементами.
    Ответ написан
    Комментировать
  • Как можно оптимизировать код подсчета букв в строке?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    sum(map(str.isalpha, a))
    Ответ написан
    Комментировать
  • В чем смысл пакетов в python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    пакеты нужны для стандартизации и унификации. С помошью пакетного менеджера пакет может быть установлен из сециального централизованного репозитория, из системы контроля версий, из спейиального упакованного файла.
    Пакет несет в себе всю необходимую информациб о своих зависимостях (какие еще пакеты нужны для его работы), информацию об авторстве, ребованиях к версии питона и других пакетов...
    Если оформить проект пакетом, его становится проще разворачивать в продакшн-среде.

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

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Есть сколько угодно способов, но с Counter будет самым простым. Чем вам этот способ не нравится?
    Если это вопрос, а не задание, то вы, наверно. постарались придумать свой способ, что у вас не получилось? Давайте мы вам поможем. Если это задание, а не вопрос, то это противоречит правилам ресурса.
    Ответ написан
  • Некорректный перенос строк сообщения, в чём дело?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Посмотрите в 'time1.txt' после последней строки нет абзаца, а во всех остальных, скорее всего есть.
    Или в каких-то еще тоже нет и прблема плавающая, зависит от того последнюю строку выбрал рандом или нет и есть в этой строке абзац или нет.
    Обрабатывайте загруженные строки filter(None, map(str.rstrip, <lines_iter>))
    Ответ написан
    Комментировать
  • Каков предпочтительный способ записи длинных строковых литералов в Python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Куда уж читабельнее? Можно в тройных кавычках, но там неудобно с отступами, приходится "ломать" форматирование или мириться с паразитными пробелами в начале кадой строки.
    Тот, способ, что у вас, ИМХО, оптимален. Особенно для форматных строк.
    Поосторожнее только с запятыми, а-то ваша строка вмиг превратится в кортеж строк.
    Ответ написан
    Комментировать
  • Не могу передать строку в writerow, что не так?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Вот это кошмар...
    Нагромождение каких-то ненужных приседаний и реверансов. Склажывается ощущение. что код писался вообще без понимания что и как работает.
    Тут проще пересчитать строки, которые не требовалось бы исправить: ноль таких строк.
    Вы бы привели хоть пример что у вас там в property подается. А-то на кофейной гуще гадать приходится какая из сотни ошибок-таки окончательно стедала неработоспособным код.

    Вот здесь вообще какая-то ерунда:
    for i in range(j, len(property)):
        k = j
        write_to_csv(property[k])
        k += 1
      j = len(property)

    Ладно, с отступами беда. Но зачем эти бессмысленные присвоения? Зачем этот бессмысленный цикл, если вы в нем обрабатываете один и тот же элемент много раз?
    Прекращайте уже такое писать. Смысла нет. Не ваше.

    Похоже (разводы гущи так подсказывают за неимением других данных) вы не понимаете что передаёте в эту свою функцию. Ситуацию бы прояснила публикаия содержимого переменной roperty
    Ответ написан
    3 комментария
  • Как записать .mp3 в JSON?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Хранить mp3 вполне логично в файлах в каталоге проекта.
    Если вы по какой-то причине не хотите хранить их россыпью в файловой системе, то можно собрать их в zip-файл без сжатия или в tar-архив. С ними можно работать не распаковывая, открыать и читать файлы внутри.
    Ещё есть встроенный модуль shelve - это персистентный key-value storage, который держит свои ключи и значения в одном файле. Доступны чтение и запись бинарных данных по ключу.
    Base64 приведёт к тому что объём данных увеличится примерно на четверть (на 25 процентов). Сериализация и десериализация больших файлов в текстовый json будет медленным и неэффективным.

    Опишите шире вашу задачу и вам предложат типовое ее решение.
    Ответ написан
  • Local port forwarding with host jumping Python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Пробрасывайте последовательно через все туннели, кроме последнего, не 6000 порт, а 22. Пследний туннель пробросит целевой порт. Все коннекты, начиная со второго, должны быть на localhost, а порты ssh придется биндить на разные локальные порты.

    Смотрите, в CLI вы каждый раз на новой уделенной машине стартуете ssh. Технически можно делать это на одной машине, пришивая каждый раз 22 порт следующей удаленной машины на очередной локальный порт.

    Сам не пробовал. пока некогда.
    Ответ написан
  • Как реализовать регистронезависимый поиск в python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Можно, как быстрое решение, продублировать данные в таблице, обработав их снаружи преобразованием в upper case.
    Тогда вам придётся подавать на вход в запросы уже преобразованные (подготовленные под формат индекса) данные.

    А вот здесь есть статья о том как добавить collate для русского регистронезависимого сравнения.
    Ответ написан
  • YouTube ошибка HTTP Error 429: Too Many Requests. Как исправить?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Setaz213, никто вам не скажет сколько нужно ждать. Критерии детектирования недобросовестных пользователей не могут быть публичными, поскольку будучи опубликованными тут же будут использованы с целью настроить скрипты так, чтобы их не блокировали. Читайте в документации ограничения, которые накладывает API. Пользуйтесь прокси-листами, чтобы избежать окончательных блокировок при экспериментах.
    Если пользуетесь API, которым вам пользоваться не положено (то есть нет никакой документации и вообще никаких публичных ограничений), то изучайте с какими частотами дергает это API штатное ПО.
    Ответ написан
    Комментировать