Архив рубрики: Scripting/coding

HowTo и примеры использования bash, C, Python, Ruby и т.д.

C: переменные argc и argv

23 января 2015
 

 Для работы с аргументами — в C используются две специальные переменные — argc и argv. argc — argument count, или «счётчик аргументов»; argv — argument vector, или «вектор аргументов». Использовать их очень просто.

C: чтение, добавление, изменение и удаление переменных окружения (getvar, setvar, unsetenv)

22 января 2015
 

 Для работы с переменными используются функции getvar() и setvar() из библиотеки stdlib.h. Как понятно из названий — функция getvar() используется для получения значения переменной, а setvar() — для добавления или изменения.

Python: скрипт редактирования файлов конфигурации

7 января 2015
 

 Наше приложение использует два файла для подключения к серверам баз данных: $ ls -l ../secure total 8 -rw-r—— 1 app_env_1 app 1306 Nov 27 16:12 external.properties -rw——- 1 app_env_1 app 12 Nov 27 15:51 secret.key Задача — написать скрипт, с помощью которого их можно редактировать, не прибегая к использованию редакторов (т.к. у товарищей из Индии… Читать далее »

Python: история команд в консоли

1 января 2015
 

 Что бы просмотреть все введённые ранее команды в консоли Python — есть два варианта. Первый — выведет список со всеми командами в элементах: >>> import readline >>> for i in range(readline.get_current_history_length()): … print readline.get_history_item(i)

Python: модуль ConfigParser для работы с файлами конфигураций, и скрипт редактирования файлов

31 декабря 2014
 

 Необходимо было создать скрипт для редактирования файлов настроек приложения, что бы не изменять его вручную. В скрипте используется модуль ConfigParser (ссылки в конце поста). Можно вызывать либо с передачей опций (модуль argparce), либо — без опций. В случае вызова с опциями — можно указать какой файл редактировать, иначе — будет использован файл по умолчанию (default=CONF_DIR +… Читать далее »

Python: print без символа новой строки

28 декабря 2014
 

 Возьмём такой пример: $ cat no_new_line.py #!/usr/bin/env python list = (‘a’, ‘b’, ‘c’) for i in list: print(i) Который ведет на экран каждый элемент с новой строки: $ ./no_new_line.py a b c

Python: скрипт сравнения файлов из SVN-репозитория

21 ноября 2014
 

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