迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python 中读取用户输入直到 EOF

作者:迹忆客 最近更新:2022/09/25 浏览次数:

使用 sys.stdin.readlines() 方法读取用户输入直到 EOFreadlines() 方法将返回一个包含行的列表。 用户可以按 CTRL + D (Unix)CTRL + Z (Windows) 退出。

import sys

# 👇️ 用户必须按 Ctrl + D (Unix) 或 Ctrl + Z (Windows) 退出

print('Press CTRL + D (Unix) or CTRL + Z (Windows) to exit')

user_input = sys.stdin.readlines()

# 👇️ get list of lines
print(user_input)

# 👇️ join the list items into a string
print(''.join(user_input))

stdin 用于交互式用户输入。

用户必须按 CTRL + D(在 Unix 上)或 CTRL + Z (在 Windows 上)才能退出。

readlines() 方法返回一个包含用户输入的列表的列表。

如果需要将字符串列表连接成字符串,可以使用 str.join() 方法。

# a
# b
# c
print(''.join(['a\n', 'b\n', 'c\n']))

如果只需要包含行的字符串,可以改用 sys.stdin.read() 方法。

import sys


user_input = sys.stdin.read()

print(user_input)

sys.stdin.read() 方法返回一个字符串,其中包含用户输入的行。

或者,我们可以使用 try/except 语句。

要在 EOF 之前读取用户输入:

  1. 使用 while 循环迭代直到 EOF。
  2. 在每次迭代中,将用户输入附加到列表中。
  3. 在 except 块中捕获 EOFError 异常并跳出循环。
lines = []


while True:
    try:
        lines.append(input())
    except EOFError:
        lines_str = '\n'.join(lines)
        print(lines_str)

        break

print(lines)

我们使用了一个while循环来迭代直到EOF。

如果用户按下 CTRL + D (Unix) 或 CTRL + Z (Windows),则会引发 EOFError 异常并在 except 块中进行处理。

break 语句跳出最里面的 for 或 while 循环。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Python 中的 Pandas 插入方法

发布时间:2024/04/23 浏览次数:112 分类:Python

本教程介绍了如何在 Pandas DataFrame 中使用 insert 方法在 DataFrame 中插入一列。

Pandas 重命名多个列

发布时间:2024/04/22 浏览次数:199 分类:Python

本教程演示了如何使用 Pandas 重命名数据框中的多个列。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便