在脚本中从终端读取数据

时间:2018-06-21 13:51:35

标签: python

我想通过运行脚本从终端读取变量。 这是我的script.py:

while True:
  value = input('enter text: ')
  if value == 'stop':
    print('bye-bye')
    break
  else:
    print('continue!')

但是,当我运行python script.py时,发生了一些奇怪的事情。 如果我输入了int-data(例如1,2,3),则没有问题。 如果我输入“停止”,我会得到一个错误:

SyntaxError: invalid syntax

2 个答案:

答案 0 :(得分:0)

您可能正在使用Python2。在Python2中,input()返回一个int,要拥有一个string,您应该使用raw_input()

while True:
  value = raw_input('enter text: ')
  if value == 'stop':
    print('bye-bye')
    break
  else:
    print('continue!')

请勿在Python2中使用input(),因为它实际上会评估输入,这很危险。有关与Python3和Python2 input()的区别,请参见this other question

更改为raw_input()时,请确保在调用脚本之前先保存

答案 1 :(得分:0)

def console(input_):
    input_ = input(r'Enter text: ')
    if input_ == str(r'stop'):
        return ("BYE BYE")
    else:
        input_ = input('continue')
    console(input_)

console(input)

在python3上工作正常。