【发布时间】:2014-03-11 05:58:35
【问题描述】:
注意:在 sublime text 中,很多关于 python raw_input() 的问题都被问到了。这个问题不是关于崇高的。 python 代码在 Windows 命令提示符下调用,与 sublime 终端不同,它支持交互式输入。
我有一个 python 程序,它使用内置函数 raw_input() 接受用户输入。见下文。
def password_score():
pwd = raw_input('Enter a password: ')
gname = raw_input('Enter your first name: ')
...
我在cmd中调用程序是通过
echo password_score()|python -i a06q1.py
其中 a06q1.py 是文件名。 python目录的路径已暂时添加到系统变量%PATH%中。我在文件的目录中。我的操作系统是 Windows 7。我使用的是 python 2.6。到目前为止,相同的命令一直有效。
然后cmd返回
File "<stdin>", line 1, in <module>
File "a06q1.py", line 27, in password_score
pwd = raw_input(p_prompt)
EOFError: EOF when reading a line
有没有办法绕过它在 cmd 内?
编辑:我也刚刚在 iOS 终端上尝试过。使用与 cmd 中相同的命令(带引号),它返回相同的错误。我使用的命令行有什么问题吗?谢谢!
编辑:塞巴斯蒂安的回答解决了这个问题。该命令应如下适应窗口。
printf "a06q1.password_score()\n'arg1\n'arg2"|python -i -c "import a06q1"
\n 后面的单引号可以用空格代替。它们将多个输入分开。
【问题讨论】:
-
尝试用python shell运行代码,或者用idle。
-
我只将 shell(再次在 cmd 中)用于单个功能。请问如何在 shell 中运行程序?
-
等等。
password_score是a06q1.py内部的函数吗?然后你想称它为将函数名通过管道传递到脚本中? -
是吗?这真的很糟糕吗?
-
如果你安装了idle,你可能想从那里运行它,它将在python shell中运行
标签: python windows cmd raw-input