如何在Spyder控制台为Python代码一次性输入多行内容
Spyder控制台一次性输入多行内容的解决方案
问题原因
Python内置的input()方法默认每次仅读取一行输入,一次性粘贴多行内容时,第一行被首个input()读取后,剩余内容会被控制台识别为待执行的代码片段,因此触发语法报错。
可用方案
方案1:修改代码适配全量输入(最稳定)
调整代码逻辑,一次性读取所有输入后再拆分处理,修改后的代码如下:
import sys class emp: def __init__(self,name,idNo): self.name=name self.idNo=idNo # 一次性读取所有输入,按行拆分并过滤空行 input_lines = [line.strip() for line in sys.stdin.read().splitlines() if line.strip()] index = 0 n = int(input_lines[index]) index += 1 emplist=[] for i in range(n): name = input_lines[index] index += 1 idNo = int(input_lines[index]) index += 1 emplist.append(emp(name,idNo))
运行代码后直接粘贴所有输入内容,按一次回车即可完成全部输入。
方案2:不修改原有代码的临时方案
将你需要输入的所有内容保存为同目录下的input.txt文件,在Spyder控制台执行以下魔法命令即可自动读取文件内容作为程序输入:
%run -i 你的脚本文件名.py < input.txt
内容的提问来源于stack exchange,提问作者Deepak Guntoju
相关产品推荐
相关产品推荐

