2017-03-10 73 views
0

假設我有一個非常簡單的test.py,這裏是代碼:是否可以從命令行運行python文件,但是可以與其交互? (REPL)

def sum(a, b): 
    return a + b 


print(sum(5, 6)) 

在我cmd,當我做python test.py,命令行返回11

我想這樣做是互動用它,所以我想打字,sum(4,2)和命令行應返回6,而是我得到:

sum is not recognized as an internal or external command ...

基本上我想具有REPL功能,如WingIDE,Sublime Text。這可能來自命令行嗎?

+0

型'蟒蛇'在命令行中,它將以交互方式運行python。然後,您可以定義'sum'並調用它,或從預定義的腳本中導入它。 – Julien

+0

是的,但我怎麼告訴它我想從'test.py'文件調用函數? –

+1

'from test import sum',但是你必須確定你的系統知道在哪裏尋找test.py(如果它不在你的工作目錄中) – Julien

回答

1

爲此,當您在cmd中運行程序時,最好傳遞輸入參數。 我把代碼如下小的修改,

def sum(a, b): 
    return a+b 

import sys 
a = int(sys.argv[1]) 
b = int(sys.argv[2]) 
print(sum(a, b)) 

然後在cmd中,你只需要像這樣運行:

>>蟒蛇test.py 4 2

+0

這可行,但如果我有多個功能,我不認爲它呢? –

+0

@VeeshaDawg你會舉個例子嗎?你的意思是將相同的輸入參數傳遞給不同的功 – ARASH

+0

如果我有更多的功能,然後只是'sum'呢? –

相關問題