2015-03-23 2 views
-1

Если у меня есть определенная функция в моем скрипте оболочки, могу ли я вызвать эту функцию из внешнего скрипта python?Можно ли запустить функцию оболочки из сценария python?

+0

Пожалуйста сделайте ваш вопрос более ясным. Что такое «мой скрипт оболочки» и как его запустить? Как запустить «внешний скрипт Python» (внешний для чего?) Не совсем ясно, что вы хотите делать; это очень помогло бы включить некоторый пример кода. – rici

ответ

1

Вот некоторые справочные материалы, так как я не совсем уверен, что вы пытаетесь сделать:

Running Shell Commands

Вы можете использовать Python subprocess модуль:

from subprocess import call 
call(["ls", "-l"]) 

Или если вы пытаетесь запустить определенную функцию из вашего сценария оболочки, было бы разумнее перекодировать эту функцию в Python. Аналогичный SO вопрос можно найти здесь:

How to call a shell script function/variable from python?

+1

Как это относится к вопросу вызова функций оболочки? – rici

+0

@rici В буквальном смысле вы не можете выполнить определенную функцию сценария оболочки из Python. Вам нужно будет реализовать функцию в самом Python, а затем использовать модуль подпроцесса для ее выполнения. – logic

+0

Это не совсем так. Если оболочка bash и функция экспортируется в среду, вы можете запустить ее, выполнив «bash -c the_function». Но в любом случае ваш комментарий по крайней мере адресован OP, и я предлагаю вам включить его в свой ответ. – rici

Смежные вопросы