我正在练习一些代码,当我运行一段非常普通的代码时,我似乎突然遇到了这个错误。我正在解决的问题需要输入,计算一些东西并给出输出。
我在一个在线IDE(一些编码竞赛网站(上运行它,因为它不是很好(没有惊喜!(,我决定在Pycharm社区版上运行它,然后将其复制粘贴到那里。它没有给我一个输出,而是显示了这一点,
Traceback (most recent call last):
File "D:Softwarelibio.py", line 52, in <module>
File "D:practiceabc.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
这可能有帮助,也可能没有帮助,但我不知道出了什么问题。
问题可能与您的代码编辑器/Python窗口有关。例如,QGIS Python控制台没有stdin或stdout,所以你会得到 'RuntimeError: input((: lost sys.stdin' 错误,如果在那里运行你的代码。
请参阅此帖子: https://gis.stackexchange.com/questions/343250/error-when-using-input-pyqgis-runtimeerror-input-lost-sys-stdin-qgis-3
我正在寻找相同问题的解决方案。我发现了这个问题,所以我将留下对我的问题有用的解决方案来帮助其他有相同问题的人。
我没有使用input()
命令,而是sys.argv[1]
使用此命令,我从命令行为我的程序提供输入,例如mpirun -n 4 python -m deneme.py 1000000
.在这种情况下,1000000 是我的输入。
我将其移动到另一个文件夹,它工作正常。旧文件夹中的其他文件曾经工作正常,现在它们不工作了。这是与操作系统相关的错误吗?
我从"麻绳"包的 cygwin 窗口中随机遇到了这个问题。 重新启动cygwin并再次执行完全相同的操作解决了该问题。 不知道潜在的问题是什么,"关闭并再次打开它"似乎是平淡无奇的建议,但是......尝试将其关闭并重新打开。
当你在代码中编写input((时,使用pyinstaller编译器来.py文件,不带-w args。 下面是示例命令行:
pyinstaller -F demo.py
对我有用
这听起来可能很愚蠢,但请尝试不要直接从退出按钮关闭空闲,而是像您使用 Windows 在其他操作系统中从任务管理器和 Liekwise 关闭它一样。 并尝试重新打开它,即使它不起作用,请尝试重新启动您的 PC,这听起来真的很基本和愚蠢,但它确实有效(至少它对我有用, 并且还为我建议过的朋友工作(
我通过Project> Properties修复了Visual Studio "Python"中的相同错误 然后取消单击"Windows 应用程序"复选框
我遇到了同样的问题,但是当我将编码更改为 UTF-8 时,它解决了它。