Python 如何在Pycharm中使用输入流?
我是Python新手,使用Pycharm处理代码 我正在写一个简单的程序,读取字符串,然后将其转换为intPython 如何在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]) 我运行程序,输入三个数
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])