【问题标题】:Python 3: receive user input including newline charactersPython 3:接收用户输入,包括换行符
【发布时间】:2011-02-02 06:51:20
【问题描述】:

我正在尝试从 Python 3 的命令行中读取以下文本(逐字复制、换行符和所有内容):

lcbeika
rraobmlo
grmfina
ontccep
emrlin
tseiboo
edosrgd
mkoeys
eissaml
knaiefr

使用input,我只能读取第一个单词,因为一旦读取了第一个换行符,它就会停止读取。

有没有一种方法可以在不反复调用input 的情况下阅读它们?

【问题讨论】:

    标签: python input python-3.x


    【解决方案1】:

    您可以import sys 并使用sys.stdin 上的方法,例如:

    text = sys.stdin.read()
    

    或:

    lines = sys.stdin.readlines()
    

    或:

    for line in sys.stdin:
        # Do something with line.
    

    【讨论】:

      【解决方案2】:

      如果您将文本作为文件传递到脚本中,您可以使用readlines()

      例如

      data=open("file").readlines()
      

      或者你可以使用fileinput

      import fileinput
      for line in fileinput.input():
          print line
      

      【讨论】:

      • 我从命令行读取它,而不是将文本作为文件传递。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-22
      相关资源
      最近更新 更多