Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Pycharm中使用输入流?_Python_Python 3.x_Pycharm - Fatal编程技术网

Python 如何在Pycharm中使用输入流?

Python 如何在Pycharm中使用输入流?,python,python-3.x,pycharm,Python,Python 3.x,Pycharm,我是Python新手,使用Pycharm处理代码 我正在写一个简单的程序,读取字符串,然后将其转换为int import sys print ("Hello word") data = sys.stdin.read() tokens = data.split() for i in range(len(tokens)): tokens[i] = int(tokens[i]) print (tokens[1]) 我运行程序,输入三个数

我是Python新手,使用Pycharm处理代码

我正在写一个简单的程序,读取字符串,然后将其转换为int

import sys

    print ("Hello word")
    data = sys.stdin.read()
    tokens = data.split()

    for i in range(len(tokens)):
        tokens[i] = int(tokens[i])

    print (tokens[1])

我运行程序,输入三个数字,但仅此而已
为什么,在运行程序时,我看不到打印结果?

这是因为程序仍在从
stdin
读取数据。要从
stdin
中仅读取一行,必须使用
stdin.readline()
。如果在
sys.stdin.read()
行之后运行带有断点的调试进程,您将看到程序永远无法到达它。例如,在Ideone中运行程序时,可以在运行应用程序之前指定stdin,
stdin.read()。通常它一直读到EOF(文件结束)。因此,如果要读取多行,可以使用
sys.stdin.readline()
(内置的
input()
)或使用文件输入。如果您真的想使用
sys.stdin.read()

,也可以参考post了解更多信息,因为程序仍在从
stdin
读取。要从
stdin
中仅读取一行,必须使用
stdin.readline()
。如果在
sys.stdin.read()
行之后运行带有断点的调试进程,您将看到程序永远无法到达它。例如,在Ideone中运行程序时,可以在运行应用程序之前指定stdin,
stdin.read()。通常它一直读到EOF(文件结束)。因此,如果要读取多行,可以使用
sys.stdin.readline()
(内置的
input()
)或使用文件输入。如果你真的想使用
sys.stdin.read()

你已经用
.read()
有效地阻止了程序,你也可以参考post了解更多信息;使用
input()
要简单得多,如下所示:

print('Hello World')
data = input()
tokens = map(int, data.split()) # this converts to int
print(tokens[1])

您已使用
.read()
有效地阻止了该程序;使用
input()
要简单得多,如下所示:

print('Hello World')
data = input()
tokens = map(int, data.split()) # this converts to int
print(tokens[1])