2015-10-27 78 views
0

假设我有一个python程序询问用户他们的姓名和年龄。从PowerShell脚本输入到Python程序?

name = raw_input("Name? ") 
age = raw_input("Age? ") 
print "I am " + name + " and I am " + age + " years old" 

我有一个运行此Python程序的powershell(或蝙蝠)脚本。

C:\Python27\python.exe prompt.py 

我怎样才能获得PowerShell脚本来自动输入字母/数字的蟒蛇的投入,得到的结果(在我可以再出口,或在PowerShell中比较)?

+0

为什么不跳过Python并在PowerShell中使用'read-host'? – TessellatingHeckler

+0

学生编写Python程序,希望让他们自动评分,所以我不必手动完成。 Alt键。只是创建一个Java程序。 –

+0

难道你不能坚持学生必须通过的基于Python的测试套件吗?只要他们通过测试套件,他们就可以获得大部分积分,然后再进行关于样式,效率,评论等的标注(自动使用类似其余的可以做。 – iLoveTux

回答

0

编辑:我会读python脚本为文本文件,并检查脚本包含一定的逻辑和参数,直到你在哪里幸福脚本包含了正确的方法。

在powershell中其$script = Get-Content C:\path\to\script.py要以文本形式加载脚本,然后用正则表达式或where和if语句检查它。

原文: 这仅仅是一个Python如何期望输入限制。如果不使用autohotkey等模拟按键,你无法做到这一点。如果没有.net库和垃圾,Powershell不会支持这样做。

询问实施自动标记解决方案所需的努力是否值得。如果是这样,我会改变课程,这样学生还可以设置可以解析为python脚本的参数,并且如果在运行时缺少参数,则会提示输入。那么你可以使用:

C:\Python27\python.exe prompt.py Name Age 
+0

这将发生在较大的作业上 –