最近遇到乙個需求,需要通過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...