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

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

C: переменные argc и argv
0 (0)

23 января 2015

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

Loading

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

22 января 2015

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

Loading

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

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 Задача — написать скрипт, с помощью которого их можно редактировать, не прибегая к использованию редакторов (т.к. у товарищей из Индии… Читать далее »

Loading

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

1 января 2015

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

Loading

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

31 декабря 2014

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

Loading

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

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

Loading

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

21 ноября 2014

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

Loading