在CMD窗口中調用python函數的實現

1.問題背景

針對目前愈發復雜的業務應用場景,單一的一門語言已經無法很好的滿足開發的需求,往往需要好幾門語言做交互,例如使用Python快速驗證算法有效性,然後將高性能計算部分用C來重新,python直接調用C返回的結果即可。而有時我們也會需要在其他語言的環境下調用python,不同的語言都有各自的方法。

2.解決方案

本文使用JAVA調用Python且以CMD為中介為例說明如何使用命令行運行某一個py文件下面的一個函數,主要使用如下代碼:      

python -c "function_name(args)"

這其中主要有兩種情況:

  • a.Python文件中隻包含一個函數,而且不需要輸入任何參數
  • b.Python文件中有多個函數,調用其中某一個,並且輸入參數

為瞭敘述表達的便利性,下文直接在CMD中輸入對應語句即可,如果需要使用JAVA調用Python,隻需要JAVA構造相同的控制臺語句模擬控制臺輸入即可。 

2.1.Python文件中隻包含一個函數,而且不需要輸入任何參數

 例如a.py為如下:

print('hello world')

此時隻需要在CMD窗口中輸入Python文件名稱即可,如本例中的a.py文件:

2.2.Python文件中有多個函數,調用其中某一個,並且輸入參數

例如b.py為如下:

def my_sum(a, b):
    '''
    :param a:
    :param b:
    :return: 
    '''
    print(a + b)
 
def my_sub(a, b):
    '''
    :param a:
    :param b:
    :return: 
    '''
    print(a - b)

現在我隻想調用my_sum函數而不調用my_sub函數應該怎麼辦呢?這時就可以使用上面說的代碼瞭:

python -c "import b; b.my_sum(4,5)"

結果如下:

到此這篇關於在CMD窗口中調用python函數的實現的文章就介紹到這瞭,更多相關CMD調用python內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: