![]() |
|
Модераторы: Poseidon |
![]()
|
|
| buddser |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 20.2.2010 Репутация: нет Всего: нет |
Случайно в нете нашел скрипт который мне нужно написать на питоне...
Но к сожалению он на баше... в баше к сожалению не очень хорошо разбираюсь... как в общем и в питоне... Помогите переписать скриптна питон пожалуйста. Или хотя бы расскажите как он работает этот баш скрипт... чтобы я смог найти аналогичные функции в питоне. Спасибо за любую помощь! Скрипт номер раз touch container.dmc shred -n1 -s50M container.dmc losetup /dev/loop0 ./container.dmc cryptsetup -y create X /dev/loop0 mkfs /dev/mapper/X Скрипт номер два #!/bin/bash LABEL=X; LOOPD=/dev/loop0; MNTPT=/media/Disk_$LABEL; CCNTR=/media/FAFE-47E0/container.dmc; start() { echo ' '; echo '----- Mount CryptoContainer ['$CCNTR'] ---------------------'; /sbin/losetup $LOOPD $CCNTR; /sbin/cryptsetup create $LABEL $LOOPD; mkdir $MNTPT; mount -t ext2 /dev/mapper/$LABEL $MNTPT; MLINE=`mount | grep $MNTPT`; if [ -n "$MLINE" ]; then echo "Label :: [$LABEL]; $CCNTR --> $MNTPT; [on $LOOPD]"; echo '----- Mount CryptoContainer Complete ! ---------'; else echo '----- ERROR - Bad password -----------------'; stop; fi echo ' '; } stop() { echo ' '; echo '----- Unmount CryptoContainer ['$CCNTR'] --------------------'; sync; umount $MNTPT; /sbin/cryptsetup remove $LABEL; /sbin/losetup -d $LOOPD; DLINE=`ls -A $MNTPT`; if [ -n "$DLINE" ]; then echo '----- CryptoContainer cannot be unmouted !!! ------'; else rm -rf --one-file-system $MNTPT; echo '----- Unmount CryptoContainer Complete ! ---------'; fi echo ' '; } case "$1" in start) start;; stop) stop;; *) MLINE=`mount | grep $MNTPT`; if [ -n "$MLINE" ]; then stop; else stop; clear; start; fi esac exit 0; то что сам нахожу буду по тихоньку тоже писать... Эта строка заменяет touch из первого скрипта import os if not os.path.exists('container.dmc'): open('container.dmc', 'w').close() Вот такая строка на питоне: os.system("shred -n1 -s50M container.dmc") Заменит вот такую на баше: shred -n1 -s50M container.dmc Сразу оговорюсь я хотел бы использовать функции питона... а не работать через os.system... Но пока, за неимением лучшего, так. вот нашел тот вариант который меня устраивает...(забивает случайной последовательностью файл размером в 50 мб) open('container.dmc','wb').write( ''.join([chr(randrange(0,256)) for x in xrange(50000000)]) ) Это сообщение отредактировал(а) buddser - 20.2.2010, 20:45 |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
Для домашних заданий, курсовых, существует "Центр Помощи".
Тема перенесена! |
|||
|
||||
| buddser |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 20.2.2010 Репутация: нет Всего: нет |
А тут бывают что отвечают? просто я на несколько форумов разместил... на этом единственном никто ничего не пишет...
|
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |