通过批处理文件向python脚本传递多个参数

通过批处理文件向python脚本传递多个参数,python,batch-file,Python,Batch File,我的批处理文件中有以下代码 @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

我的批处理文件中有以下代码

@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和批处理编程都是新手,所以请放轻松:)

尝试用引号括起来。你也有一个等号的空格,不确定这是否是批处理的问题

空间:

SET /P GENDER = Enter age:
SET /P AGE = Enter gender:
对于以下情况,则没有:

SET /P NAME=Enter name:

集合中的
=
周围不能使用空格:

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

否则,您会得到一个以空格结尾的变量,您必须像
%GENDER%

那样使用它,为什么不将整个程序放在Python中呢?让它提示输入。谢谢:)将尝试这样做,但可以这样做吗?