我正在练习一些代码,当我运行一段非常普通的代码时,不知从哪里冒出来了这个错误。我正在解决的问题需要输入,计算一些东西,然后给出输出。
我在一个在线IDE上运行它(一些编码竞赛网站),因为它不是很好(没有惊喜!)我决定在Pycharm社区版上运行它,然后复制粘贴到那里。
Traceback (most recent call last):
File "D:\Software\lib\io.py", line 52, in <module>
File "D:\practice\abc.py", line 1, in <module>
RuntimeError: input(): lost sys.stdin
Process finished with exit code -1073740791 (0xC0000409)
我试着运行的代码是这样的
tc = int(input())
while tc > 0:
c = 0
a = int(input())
while a > 0:
print(a % 2)
if (a % 2 == 0):
a = a // 2
c += a
print(c, "is c")
tc -= 1
这可能有帮助也可能没有,但我不知道出了什么问题。
8条答案
按热度按时间q35jwt9p1#
问题可能与代码编辑器/ Python窗口有关。例如,QGIS Python控制台没有stdin或stdout,因此您将获得“RuntimeError:input():如果在那里运行代码,则会出现丢失的sys.stdin'错误。
查看此帖子:https://gis.stackexchange.com/questions/343250/error-when-using-input-pyqgis-runtimeerror-input-lost-sys-stdin-qgis-3
zc0qhyus2#
我一直在寻找同样问题的解决方案。我发现了这个问题,所以我会把对我的问题有效的解决方案留给其他有同样问题的人。
我没有使用
input()
命令,而是使用了sys.argv[1]
命令,我从命令行(如mpirun -n 4 python -m deneme.py 1000000
)为我的程序提供输入。在本例中,1000000是我的输入。t3irkdon3#
我把它移到另一个文件夹,它工作正常。旧文件夹中的其他文件过去工作正常,现在它们不工作了。这是与操作系统相关的错误吗?
qyswt5oh4#
我在一个cygwin窗口中随机遇到了这个问题,因为我的软件包是twine。重新启动cygwin并再次做同样的事情解决了这个问题。不知道根本的问题是什么,“关闭并再次打开”似乎是一个平淡无奇的建议,但是......尝试关闭并再次打开它。
vof42yt15#
这可能听起来很愚蠢,但尝试关闭你的闲置不直接从退出按钮,但,就像如果你使用windows关闭它从任务管理器和liekwise在其他os.并尝试重新打开它,即使它没有工作,尝试重新启动您的pc,这真的听起来很基本和愚蠢,但它真的工作(至少它为我工作,也为我建议这一点的朋友工作)
vaqhlq816#
我修复了Visual Studio“Python”中相同的错误,通过项目〉属性,然后取消单击“Windows应用程序”复选框
mftmpeh87#
我遇到了同样的问题,但当我将编码更改为UTF-8时,它解决了这个问题。
yh2wf1be8#
当你在你的代码中写入input()时,使用pyinstaller编译.py文件,不带-w参数。下面是命令行示例:
对我有效