Последние полгода я стараюсь уделять время изучению программирования. Получается уделять 3-5 часов в неделю. И начинает помаленьку получаться. Сначала я прочитал небольшую книгу и прошел курс. Это получилось достаточно легко. Сейчас я работаю над небольшим личным проектом. И дело идёт не так быстро как хотелось бы. Бывают ситуации, когда не понятно что программировать. Т.е. есть задача, а как к ней подступиться непонятно. Для аналогии можно сравнить это с переводом на английский язык. К примеру нужно написать поздравление. Прежде чем его переводить, его нужно сначала написать на русском. Т.е. сложности не с написанием кода, а с пониманием, что программировать. В таких ситуациях мне помогает размышление текстом. Я открываю любой текстовый редактор […]
Рубрика: Программирование Python
Сегодня добрался до старого проекта на Python. Есть необходимость автоматизировать одну задачу. Был относительно небольшой перерыв, около месяца. Весь код я писал сам, практически не подглядывая в справку. Но я очень долго не мог разобраться в своем же относительно небольшом коде. Поэтому решил вывести для себя несколько правил. Возможно они идут вразрез с какими то профессиональными правилами, но как мне кажется, они упростят работу мне: Обязательно писать комментарии к строкам или блокам кода Делать отдельный файл для функций Описать программу простыми словами, что идёт в каком порядке, какая функция вызывается и для чего Не делать больших перерывов пока не доделал проект Писать следующий шаг после окончания рабочего времени
Очередная подзадача большой задачи. Есть список со справочниками. Нужно найти дублирующиеся подстроки по одному из ключей и взять самый поздний из них В прошлой подзадаче я нашел дубли в списке. Сейчас мне нужно провести с ним некоторые операции: Раньше я доставал значение одного ключа. Теперь мне нужно достать еще один ключ с датой. В моем случае, это строка. Чтобы работать с ней как с датой вызываем Datetime и преобразовываем строку в дату: Общая логика В первом цикле я перебираю список словарей. На каждом шаге: Достаю искомую подстроку Достаю строку с датой и делаю её датой Внутри первого цикла запускаю второй. Для тех случаев когда я не сравниваю справочник сам с […]
Это один из кусочков моего первого боевого кода. У меня есть список из словарей test_list. Реальные данные показать не могу. Так как там содержится конфиденциальная информация. В каждом словаре несколько записей, одна из которых в формате: ‘CIRCUIT_ID’: ‘E4:6F:13:B7:FA:B1::55.33.6.31::8’. Одна из подзадач: перебрать все словари из списка и найти дубли по частичному вхождению в ключе словаря. Нужно достать значение ключа, формата ‘E4:6F:13:B7:FA:B1::55.33.6.31::8’, достать оттуда всё что идёт после первых двойных двоеточий 55.33.6.31::8 и проверить есть ли в других словарях списка такие же подстроки. Для тех кто немного понимает в сетях. У меня большая база данных с данными по мак адресам, коммутаторам и портам. Текущая подзадача вытащить дублирующие строки IP порт. Чтобы […]