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

    @alpy
    open возвращает не содержимое файла, а File Object, так что собственно данные с диска вы не читаете. Замените на
    lst.append(data.read())
    Ответ написан
  • Метод, возвращающий максимальный элемент в очереди (heapq)?

    @alpy
    Если требуется просто вернуть максимальный элемент не удаляя, то
    heapq.nlargest(1, heap)

    если еще и удалить, то никак, ибо это противоречит самой структуре приоритезированной очереди.

    Если нужно, чтобы был обратный порядок приоритезации, то создать врапперы, инвертирующие элементы при вставке и удалении.
    Ответ написан
    Комментировать
  • Как вставить паузу в исполнение питоновского скрипта?

    @alpy

    Почитав код, я не увидел там ключа, определяющего периодичность записи. Есть ли там такой ключ или возможно ли его туда добавить, хотя бы просто грубо внеся паузу в исполнение всего скрипта?


    def do_activate ...
        self.shell_player.connect('elapsed-changed', self.elapsed_changed)

    Здесь плагин подписывается на сигнал об изменении позиции, что происходит каждую секунду. Соответственно вызов elapsed_changed тоже будет происходить каждую секунду. Простой sleep здесь скорее всего не поможет, т.к. плеер должен дергать функции по сигналам неблокирующим образом.

    Я бы попробовал переделать elapsed_changed таким образом:
    def elapsed_changed(self, player, entry, data=None):
        try:
            pb_time = self.shell_player.get_playing_time()[1]
            if pb_time % 5 == 0:
                self.playback_time = self.shell_player.get_playing_time()[1]
        except:
            pass


    в этом случае позиция фиксируется каждую 5-ю секунду
    Ответ написан
    1 комментарий