我想编写一个响应命令行输入的程序。通常,我将从命令行启动程序:
c:\>python my_responder.py
然后会给我一个提示:
responder> Hello. Please type your question.
responder> _
然后我会输入内容,然后点击输入:
responder> How many days are there in one week?
然后响应者将回复函数的结果(其输入是键入的字符串)。 e.g。
def respond_to_input(input):
return 'You said: "{}". Please type something else.'.format(input)
responder> You said: "How many days are there in one week?". Please type something else.
我似乎无法将这种命令行输入/输出连接到python中的函数。
其他信息:我对stdin / stdout一无所知,他们觉得相关。我也不了解如何让Python与命令行进行交互(除了运行一个可以打印到窗口的python程序)。
答案 0 :(得分:0)
除了raw_input()之外,还有sys.argv列表,(http://docs.python.org/2/tutorial/interpreter.html#argument-passing)非常有用:
from __future__ import print_function # Only needed in python2.
from sys import argv as cli_args
def print_cli_args():
print(*cli_args[1:])
print_cli_args()
你可以将它保存在一个文件中,比如说echo.py并在shell中运行它:
$ python2 echo.py Hello, World!
它会打印到stdout:
Hello, World!