2012-06-27 149 views
3

我在我的批處理文件通過批處理文件傳遞多個參數,Python腳本

@ECHO OFF 
SET /P NAME=Enter name: 
SET /P GENDER = Enter age: 
SET /P AGE = Enter gender: 
python test.py %NAME% %GENDER% %AGE% 
PAUSE 

在這裏,下面的代碼是在test.py

import sys 

print len(sys.argv) 

for arg in sys.argv: 
    print arg 

下面的代碼是輸出

Enter name:Dodo 
Enter age:1 
Enter DB gender:M 
2 
test.py 
Dodo 
Press any key to continue . . . 

我正在使用python2.5。 我如何通過年齡和性別?我是python和批處理編程的新手,所以對我來說很容易:)

+3

爲什麼你不把整個程序放在Python中?讓它提示輸入。 – Keith

+0

謝謝:)會嘗試一下,但是可以這樣做嗎? –

回答

4

你不能使用空格圍繞=set

SET /P NAME=Enter name: 
SET /P GENDER=Enter age: 
SET /P AGE=Enter gender: 

否則,你得到一個變量以空格結尾,您必須使用它,如%GENDER %

+0

這是問題,我很傻。 thanx喬伊 –

1

嘗試用引號括起來。您還可以通過等號,不知道一個空間,如果那批有問題......

空間:

SET /P GENDER = Enter age: 
SET /P AGE = Enter gender: 

,並沒有爲:

SET /P NAME=Enter name: 
相關問題