如何修复'RuntimeError:input():python 3.7中丢失sys.stdin '错误

zqdjd7g9  于 2023-03-31  发布在  Python
关注(0)|答案(8)|浏览(731)

我正在练习一些代码,当我运行一段非常普通的代码时,不知从哪里冒出来了这个错误。我正在解决的问题需要输入,计算一些东西,然后给出输出。
我在一个在线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

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

q35jwt9p

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

zc0qhyus

zc0qhyus2#

我一直在寻找同样问题的解决方案。我发现了这个问题,所以我会把对我的问题有效的解决方案留给其他有同样问题的人。
我没有使用input()命令,而是使用了sys.argv[1]命令,我从命令行(如mpirun -n 4 python -m deneme.py 1000000)为我的程序提供输入。在本例中,1000000是我的输入。

t3irkdon

t3irkdon3#

我把它移到另一个文件夹,它工作正常。旧文件夹中的其他文件过去工作正常,现在它们不工作了。这是与操作系统相关的错误吗?

qyswt5oh

qyswt5oh4#

我在一个cygwin窗口中随机遇到了这个问题,因为我的软件包是twine。重新启动cygwin并再次做同样的事情解决了这个问题。不知道根本的问题是什么,“关闭并再次打开”似乎是一个平淡无奇的建议,但是......尝试关闭并再次打开它。

vof42yt1

vof42yt15#

这可能听起来很愚蠢,但尝试关闭你的闲置不直接从退出按钮,但,就像如果你使用windows关闭它从任务管理器和liekwise在其他os.并尝试重新打开它,即使它没有工作,尝试重新启动您的pc,这真的听起来很基本和愚蠢,但它真的工作(至少它为我工作,也为我建议这一点的朋友工作)

vaqhlq81

vaqhlq816#

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

mftmpeh8

mftmpeh87#

我遇到了同样的问题,但当我将编码更改为UTF-8时,它解决了这个问题。

yh2wf1be

yh2wf1be8#

当你在你的代码中写入input()时,使用pyinstaller编译.py文件,不带-w参数。下面是命令行示例:

pyinstaller -F demo.py

对我有效

相关问题