Я выпустил библиотеку iterpipes 0.3 для запуска конвейеров команд в Python с использованием синтаксиса shell. С её помощью может стать удобнее писать многие скрипты на Python, чем на bash.
Несколько дней назад я писал об автомонтировании накопителей USB в Linux. В том посте был приведён простой скрипт на shell для определения текущего пользователя:
#!/bin/bash
uids () {
users | tr " " "\n" | uniq
}
if [ `uids | wc -l` == 1 ]; then
uid=`uids`
else
uid="0"
fi
echo ACTIVE_UID="$uid"
Вот как этот скрипт будет выглядеть на Python с использованием iterpipes:
#!/usr/bin/env python
from iterpipes import cmd, run, join
users = set(run(cmd('users') | join).split())
uid = list(users)[0] if len(users) == 1 else 'root'
print 'ACTIVE_UID=%s' % uid