如何在Python中逐行读取用户输入而非按空格分割?
解决逐行读取大量用户输入的问题
嘿,我看你现在的代码是把一行输入按空格拆分成关键词,但你需要的是逐行读取大量输入(比如每行一个词汇)对吧?没问题,给你两种实用的方案:
方案1:交互式逐行读取(适合手动输入)
如果是手动逐行输入关键词,输完后可以通过输入空行来结束,用while循环就能实现:
keywords = [] print("\n请逐行输入关键词,输入空行结束:") while True: line = input().strip() # 去掉每行首尾的空白和换行符 if not line: # 如果输入空行,停止读取 break keywords.append(line) print("你输入的关键词列表:", keywords)
这个方法很直观,用户可以一行一行输入,直到不想输入了按两次回车就行。
方案2:批量读取所有行(适合大量/文件输入)
如果你的输入是来自文件或者通过管道批量导入(比如python your_script.py < keywords.txt),用sys.stdin读取会更高效:
import sys # 读取所有非空行,并去掉每行的换行符和首尾空白 keywords = [line.strip() for line in sys.stdin if line.strip()] print("读取到的关键词列表:", keywords)
这种方式不需要手动结束输入,程序会自动读取所有输入内容,处理大量数据时比交互式循环更顺畅。
小提示
- 如果是手动输入少量关键词,方案1更友好;
- 如果是处理成百上千个关键词(比如从文件导入),方案2效率更高。
内容的提问来源于stack exchange,提问作者Spaceglider
相关产品推荐
相关产品推荐

