LINUX.ORG.RU

Сообщения Nayseel

 

Как проитерировать ключи в словаре неизвестной вложенности в python

Форум — Development

Сап, народ. С прошлой темы про содержание своего проекта много для себя подчеркнул. Решил попробовать разделить проект на файлы и импортировать их в основной. Щас вроде получше.

Есть такая ситуация. У меня есть функция, допустим

def find_all_keys(input_dict):
    keys_list = [i for i in input_dict.keys() if i.startswith("lib")]
    return keys_list

Пример условный, понятно, что для такой мелочи функция может быть не нужна. Так вот я буду в эту функцию загонять по одному объекту - словарю, в котором мне заранее неизвестно количество пар. Но если с этим я могу еще заранее продумать, как посчитать количество итераций для дальнейшего использования списка из возврата, то в случае с итерацией, когда внутри словаря могут быть вложенные словари неизвестной глубины и неизвестного количества, я не знаю что делать. Каким образом я могу проще всего решить такой случай? В итоге нужно получить список (именно список, а не множество) со всеми ключами словаря включая вложенные словари любой глубины.

 

Nayseel
()

Как не запутаться в том, что уже написал

Форум — Development

Тема не совсем техническая, больше бытовая. Вот я взялся на досуге писать для себя одну полезную программу. Сразу скажу что аналогов я вообще не нашел поэтому выбрать готовое не могу, как не могу не делать что-то с отсутствием автоматизации ибо надоело уже =)

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

Так вот какие вы используете приемы чтобы не теряться в собственном проекте? Оправдано ли в таких случаях использование IDE (pycharm и тд)? Я пишу в vim с плагинами для python и автодополнениями.

 ,

Nayseel
()

Как не накосячить при разворачивании бекапа

Форум — General

Делаю бекапы с помощью

rsync -ahR --delete /etc /home/user/Documents /home/user/.config ... путь_к_директории_для_бекапа

В бекапах всякие конфиги из /etc и домашней директории, важные файлы и прочее. Правильно я понимаю, что чтобы развернуть такой бекап нужно сделать rsync -ahR --delete путь_к_директории_для_бекапа /? Вся структура по идее должна развернутся в соответствии с изначальной иерархией и правами. Или я что-то упускаю? И если запущу разворачивание под рутом чтобы дать права работать с /etc не прошляплю ли я права на файлы в домашнем?

 ,

Nayseel
()

Не работает мышь и клавиатура после старта иксов

Форум — Desktop

Доброго времени. Установил в качестве эксперимента себе арч линукс из последнего доступного образа. Установка прошла без проблем, поставил в режиме efi, установил метапакет иксов и xfce. Логинится решил из консоли, ДМ не нужен. В консоли устройтсва ввода работают, по крайней мере клавиатура. После старта иксов не работает ни одно устройство (мышь и клавиатура). При этом питание на клавиатуре есть (загораются индикаторы локов, если нажать клавишы). При загрузке заметил несколько сообщений, отмеченных красным. В логах dmesg без старта иксов увидел такое:

device descriptor read/64, error -71
device descriptor read/64, error -71
device descriptor read/64, error -71

И такого много с разными номерами usb (usb 2-1, usb 3-1 .. 5-1). В логи иксов ошибок нет. Они стартуют норм, что логично. В консоли устройства норм определяются

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 1c4f:0026 SiGma Micro Keyboard
Bus 001 Device 003: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 002: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

На соседнем диске стоит убунту 18.04, там все работает без проблем. Как можно продиагностировать неполадку?

 , ,

Nayseel
()

Разделение основной системы и пакетов 32-битной архитектуры

Форум — General

Мне нужны пакеты 32-битной архитектуры (основная х86_64) для использования wine и steam, но не хочется захламлять основную систему. Каким образом содержать их отдельно, но использовать из основной системы без существенной потери производительности? Chroot, контейнеры? С виртуализацией не хочется связываться, т. к., во-первых, видеокарта одна - дискретная, а во-вторых, это выглядит как перебор.

 , , , ,

Nayseel
()

RSS подписка на новые темы