Уведомления

Группа в Telegram: @pythonsu

#1 Май 18, 2012 09:49:30

Fre
Зарегистрирован: 2012-04-20
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с файловой системой в Linux

как узнать доступен ли файл/папка на чтение, запись, запуск?
если скрипт запущен от рута, как перезапустить его от юзера?
и если у меня есть переменная, в которой хранится строка, например:
cat /etc/*release* | grep “Ubuntu”
как мне заставить выполниться эту строчку?

Офлайн

#2 Май 18, 2012 10:01:06

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Работа с файловой системой в Linux

- chmod
- sudo
- subprocess



Офлайн

#3 Май 18, 2012 10:13:26

Fre
Зарегистрирован: 2012-04-20
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с файловой системой в Linux

как работать с этим всем в линукс я знаю, но как из питона всё это сделать?
или я неправильно понял вашу подсказку?

Офлайн

#4 Май 18, 2012 10:22:04

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Работа с файловой системой в Linux

Юзать модули os, sys

Fre
cat /etc/*release* | grep “Ubuntu”
как мне заставить выполниться эту строчку?
А что в строке то?



Офлайн

#5 Май 18, 2012 12:41:14

Fre
Зарегистрирован: 2012-04-20
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с файловой системой в Linux

FishHook
строка -> cat /etc/*release* | grep “Ubuntu”

Офлайн

#6 Май 18, 2012 12:53:08

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Работа с файловой системой в Linux

Fre
FishHook
строка -> cat /etc/*release* | grep “Ubuntu”
os.system(' команда командной строки ')
Не уверен, что получится с cat



Офлайн

#7 Май 18, 2012 17:59:10

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Работа с файловой системой в Linux

Лучше использовать указанный выше subprocess. Для этого я его там и указал. Интересно, откуда вы знаете, как работать с ним в линукс :)



Отредактировано fata1ex (Май 18, 2012 17:59:30)

Офлайн

#8 Май 19, 2012 18:21:23

Fre
Зарегистрирован: 2012-04-20
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с файловой системой в Linux

fata1ex
первые два до боли знакомы были, подумал, мало ли это оттуда же, и это я не всё знаю

есть вопрос по тому как грамотно писать код
я с помощью модуля configparser выцепляю из конфиги переменные
есть необязательные переменные, которые могут быть не заданы в файле
и тогда при попытке изьятия такой переменной всё крашется
грамотно ли заворачивать такой кусок кода в try except?

если без привязки к языку, нужно такое:
read(a) or die

Офлайн

#9 Май 19, 2012 23:02:58

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Работа с файловой системой в Linux

Чтото не усматриваю связи с темой. В CоnfigParser есть возможность установить значения по умолчанию. В данном случае такой подход наверное предпочтителен…

Fre
read(a) or die
Тогда уж скорее не надо заворачивать в трай блок, питон по умолчанию в случае неудачи except сделает.



Отредактировано doza_and (Май 19, 2012 23:05:17)

Офлайн

#10 Май 20, 2012 20:13:42

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Работа с файловой системой в Linux

Вполне, в except сделайте sys.exit и всё.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version