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

时间:2012-06-27 06:31:07

标签: 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
Enter age:1
Enter DB gender:M
2
test.py
Dodo
Press any key to continue . . .

我正在使用python2.5。 我如何通过年龄和性别?我是python和批处理编程的新手,所以对我很轻松:)

2 个答案:

答案 0 :(得分:4)

您不得在=中的set周围使用空格:

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

否则,您会得到以空格结尾的变量,而您必须像%GENDER %一样使用它。

答案 1 :(得分:1)

尝试用引号括起来。你也有一个等号的空间,不确定批次是否有问题......

位:

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

并且没有:

SET /P NAME=Enter name: