2008-08-11

Искусство программирования на Python

Питон поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное.
(wikipedia).

Я не знаю что это за парадигма, но так программировать на Питоне тоже можно:

#!/usr/local/bin/python

import pexpect
import os

child = pexpect.spawn('scp -v [email protected]:/home/user/dump.rar /backup/');

child.expect('assword:');
child.sendline('XXXXXXXX');
child.expect(pexpect.EOF, timeout=None);


child2 = pexpect.spawn("/bin/sh");
child2.sendline("cd /backup");
child2.expect("#");
child2.sendline("/bin/mv /backup/dump.rar /backup/dump_`date \'+%Y-%m-%d\'`.rar");
child2.expect("#");
child2.sendline("exit");
Дополнительное бонусное очко - за имя файла, оканчивающееся на .sh.

4 comments:

Anonymous said...

Зачет, особенно вставляют точки с запятыми в концах строк.

vnaum said...

Да что уж говорить, этот скрипт целиком вставляет: и expect('assword:') вместо авторизации по ключу, и запуск шелла для смены текущего каталога, и привязка к shell prompt, и вызов сабшелла первого шелла для генерации даты...

Ну то есть картина настолько целостная, что я ни строчки выкинуть не могу Ж-)

Anonymous said...

А ты где раздобыл то этот шедевр?

vnaum said...

Ну где WTF-ы берут - на работе, вестимо...

Название конторы не скажу, по PR у нас другие ребята есть Ж-)

Subscribe / RSS