How to fix 'RuntimeError: input(): lost sys.stdin' error in python 3.7

How to fix 'RuntimeError: input(): lost sys.stdin' error in python 3.7

我正在练习一些代码,当我 运行 一段非常普通的代码时,我似乎无处不在地遇到了这个错误。我正在解决的问题需要输入,计算一些东西并给出输出。

我 运行 在在线 IDE(一些编码竞赛网站)上查看它,因为它不是很好(没有惊喜!)我决定 运行它在 Pycharm Community Edition 上,然后复制粘贴到那里。它没有给我一个输出,而是显示了这个

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

这可能有帮助也可能没有帮助,但我不知道哪里出了问题。

我把它移到了另一个文件夹,它工作正常。旧文件夹中的其他文件以前可以正常工作,现在不行了。这是与 OS 有关的错误吗?

我正在寻找相同问题的解决方案。我发现了这个问题,所以我会留下对我的问题有用的解决方案来帮助其他有同样问题的人。

我没有使用 input() 命令,而是使用 sys.argv[1] 和此命令,我从命令行为我的程序提供输入,例如 mpirun -n 4 python -m deneme.py 1000000。在这种情况下,1000000 是我的输入。

我 运行 从 'twine' 包的 cygwin window 内部 运行domly 解决了这个问题。重新启动 cygwin 并再次执行完全相同的操作解决了问题。不知道潜在的问题是什么,'turn it off and on again' 似乎是平淡无奇的建议,但是...尝试将其关闭并重新打开。

问题可能与您的代码编辑器有关/Python window。例如,QGIS Python 控制台没有 stdin 或 stdout,所以你会得到 'RuntimeError: input(): lost sys.stdin' 错误如果 运行 你的代码在那里。

看到这个post: https://gis.stackexchange.com/questions/343250/error-when-using-input-pyqgis-runtimeerror-input-lost-sys-stdin-qgis-3

这听起来可能很愚蠢,但请尝试 clos 让您的空闲状态不是直接从退出按钮而是,就像您使用 windowsclose 它从任务管理器和 liekwise其他 os。并尝试重新打开它,即使它不起作用,也请尝试重新启动您的电脑,这听起来很简单而且很愚蠢,但它确实有效(至少它对我有用,并且对我建议的朋友也有效)

我通过项目 > 属性修复了 Visual Studio“Python”中的相同错误 然后取消单击“Windows 应用程序”复选框