Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 4, 2013 12:46:25

Master_Sergius
Зарегистрирован: 2013-09-12
Сообщения: 271
Репутация: +  7  -
Профиль   Отправить e-mail  

Выдача случайных афоризмов под линукс с помощью утилиты notify

Кратко суть. Есть файлы из записанными афоризмами. Скрипт берёт случайный афоризм из случайного файла через настраиваемые определённые промежутки времени и показывает пользователю (чтоб не скучно было работать)
Всё работоспособно, прилагается в архиве. Есть readme для установки и настройки.

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

Ах, забыл сказать, что работает только на деб дистрибутивах (по крайней мере установка через apt-get недостающих элементов). Да и проверено было лишь на убунте. В принципе, исходники есть, думаю, каждый сможет заточить под свой дистрибутив.



———————————————————————————
Мой блог о семействе *nix: http://nixtravelling.blogspot.com/

Отредактировано Master_Sergius (Дек. 4, 2013 12:49:41)

Прикреплённый файлы:
attachment frazer.zip (34,6 KБ)

Офлайн

#2 Дек. 4, 2013 22:45:12

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9849
Репутация: +  853  -
Профиль   Отправить e-mail  

Выдача случайных афоризмов под линукс с помощью утилиты notify

lines = open(path_to_file).readlines()
открывай через with
в нормальных программах принято закрывать файлы, потому что есть ограничение на количество одновременно открытых файлов, а сборщик мусора не обязан закрывать их тут же



Офлайн

#3 Дек. 5, 2013 02:26:57

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Выдача случайных афоризмов под линукс с помощью утилиты notify

конечно это уже оффтоп,но не далекий,поэтому
py.user.next
ну так а файл и не остается открытым так как ссылка на объект файла тут же стирается (предположу что из за слоев видимости). Т.е. если выполнить этот код, то в линуксе lsof скажет что никто этот файл не занимает, что и является истиной.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Дек. 5, 2013 13:28:41

Master_Sergius
Зарегистрирован: 2013-09-12
Сообщения: 271
Репутация: +  7  -
Профиль   Отправить e-mail  

Выдача случайных афоризмов под линукс с помощью утилиты notify

Хорошо, приму во внимание детали. А вообще как алгоритм в целом и всё остальное?



———————————————————————————
Мой блог о семействе *nix: http://nixtravelling.blogspot.com/

Офлайн

#5 Дек. 5, 2013 19:27:01

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2742
Репутация: +  183  -
Профиль   Отправить e-mail  

Выдача случайных афоризмов под линукс с помощью утилиты notify

Я то думал что оно через тулкиты сообщения выводит, а там notify-send. так не интересно



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#6 Дек. 5, 2013 20:45:40

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9849
Репутация: +  853  -
Профиль   Отправить e-mail  

Выдача случайных афоризмов под линукс с помощью утилиты notify

JOHN_16
ну так а файл и не остается открытым так как ссылка на объект файла тут же стирается (предположу что из за слоев видимости). Т.е. если выполнить этот код, то в линуксе lsof скажет что никто этот файл не занимает
она стирается сразу после вызова, а файл остаётся открытым, пока его не найдёт сборщик мусора
а когда он его найдёт ? как освободится, так и найдёт
причём он ничего не должен, потому что в документации ничего нет



Офлайн

#7 Дек. 6, 2013 11:48:18

Master_Sergius
Зарегистрирован: 2013-09-12
Сообщения: 271
Репутация: +  7  -
Профиль   Отправить e-mail  

Выдача случайных афоризмов под линукс с помощью утилиты notify

Да, согласен, с файлами там повелся нехорошо… Надо будет исправить. Жду ещё мнений, спасибо!



———————————————————————————
Мой блог о семействе *nix: http://nixtravelling.blogspot.com/

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version