使用shell呼叫python中的函式

2021-06-26 13:07:58 字數 998 閱讀 5974

最近遇到乙個需求,需要通過shell呼叫python中的乙個函式,發現其實也挺簡單的:

python指令碼如下:

test.py:

import configparser

config = configparser.configparser()

config.read("test.conf")

def get_foo():

return config.get("locations", "foo")

def get_bar():

return config.get("locations", "bar")

我想通過shell呼叫裡面的get_foo,只需要在shell中執行乙個呼叫的命令列即可:

python -c 'import test; print test.get_foo()'

-c選項只是告訴python來執行一些python命令。

為了將結果儲存在變數中,你可以因此這樣做:

result_foo=`python -c 'import test; print test.get_foo()'`

或者,等效於:

result=$(python -c 'import test; print test.get_foo()')

我們也可以一次呼叫所有方法,放入乙個集合中,再呼叫切割方法獲取相應的值:

all_results=$(python -c 'import test; print test.get_foo(), test.get_bar()')

如果需要第二個結果,並將其放入result_bar:

result_bar=$(echo $all_results | cut -d' ' -f2)

Python 呼叫shell指令碼

python呼叫shell指令碼,有兩種方法 os.system cmd 或os.popen cmd 前者返回值是指令碼的退出狀態碼,後者的返回值是指令碼執行過程中的輸出內容。實際使用時視需求情況而選擇。現假定有乙個shell指令碼test.sh bin bash 1.echo hello worl...

python呼叫shell命令

在python程式中呼叫shell命令 此函式會啟動子程序,在子程序中執行command,並返回command命令執行完畢後的退出狀態,如果command有執行內容,會在標準輸出顯示。這實際上是使用c標準庫函式system 實現的。缺點 這個函式在執行command命令時需要重新開啟乙個終端,並且無...

python 呼叫shell命令

python中的commands模組用於呼叫shell命令,有3中方法 commands.getstatus 返回執行狀態 commands.getoutput 返回執行結果 commands.getstatusoutput 返回乙個元組,執行狀態和執行結果 其他執行shell命令的方法還有 1.o...