Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 20, 2013 02:29:10

Atero.zl
Зарегистрирован: 2013-03-12
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Наружу

Здравствуйте.
Надо после выполнения скрипта использовать результаты выполнения функции внутри BASH-скрипта,подскажите пожалуйста как это сделать.
Заранее спасибо.

Отредактировано Atero.zl (Авг. 20, 2013 02:31:01)

Офлайн

#2 Авг. 20, 2013 03:22:27

sakal
От:
Зарегистрирован: 2012-01-13
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Наружу

  • PIPE: python ./script_name.py | bash_script.sh
  • external call: import subprocess; subprocess.call()



Отредактировано sakal (Авг. 20, 2013 03:23:07)

Офлайн

#3 Авг. 20, 2013 05:29:55

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Наружу

output=$(./script.py)



Офлайн

#4 Авг. 20, 2013 10:09:17

Atero.zl
Зарегистрирован: 2013-03-12
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Наружу

py.user.next
Без sudo выдаёт Premission denied(под рутом)
c sudo: ./script.py: command not found
Всё разобрался,но вот пример кода:
def a():
f = open('error','r')
col = f.readlines()
collv2 = len(col)
return collV2
a()
а вызов происходит по output=$(python control.py)
echo $output выдаёт пустую строку, хотя по факту должно выдавать единицу

Отредактировано Atero.zl (Авг. 20, 2013 10:50:20)

Офлайн

#5 Авг. 20, 2013 10:51:10

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Наружу

Atero.zl
выдаёт Premission denied
Permission
выполни
chmod u+x script.py

Atero.zl
echo $output
выдаёт пустую строку
это потому что у тебя и скрипт неправильный тоже
чтобы убедиться в том, что он работает, сначала его надо запустить из командной строки (не в интерпретаторе)



Отредактировано py.user.next (Авг. 20, 2013 10:53:48)

Офлайн

#6 Авг. 20, 2013 10:59:26

Atero.zl
Зарегистрирован: 2013-03-12
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Наружу

py.user.next
чтобы уб
я проверяю,всё вроде верно,не могли бы подсказать в чём ошибка?

Офлайн

#7 Авг. 20, 2013 11:03:30

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Наружу

Atero.zl
я проверяю,всё вроде верно
этот скрипт ничего не выводит

запускай его через ./script.py, поправляй его, пока он не выведет данные



Офлайн

#8 Авг. 20, 2013 11:06:18

Atero.zl
Зарегистрирован: 2013-03-12
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Наружу

py.user.next
py.user.next
я его уже вывожу через python control.py

Офлайн

#9 Авг. 20, 2013 22:53:14

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Наружу

Atero.zl
я его уже вывожу через python control.py
прямо в скрипте должен быть записан способ запуска
потому что “python” может ссылаться куда угодно, в том числе и на неподходящую версию
строить bash-скрипт таким образом - ненадёжно

Atero.zl
я его уже вывожу
то, что ты выложил, ничего не выведет
а если выводит, значит, ты не выложил текущий скрипт



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version