当前位置: 首页 > 面试题库 >

EOFError:读取行时出现EOF

韦阳辉
2023-03-14
问题内容

我试图定义一个函数来使矩形的周长。这是代码:

width = input()
height = input()
def rectanglePerimeter(width, height):
   return ((width + height)*2)
print(rectanglePerimeter(width, height))

我想我没有留下任何争论或类似的话题。


问题答案:
width, height = map(int, input().split())
def rectanglePerimeter(width, height):
   return ((width + height)*2)
print(rectanglePerimeter(width, height))

像这样运行它会产生:

% echo "1 2" | test.py
6

我怀疑IDLE只是将单个字符串传递给您的脚本。首先input()是对整个字符串进行细化。请注意,如果在调用以下命令后放入一些打印语句,会发生什么情况input()

width = input()
print(width)
height = input()
print(height)

运行echo "1 2" | test.py产品

1 2
Traceback (most recent call last):
  File "/home/unutbu/pybin/test.py", line 5, in <module>
    height = input()
EOFError: EOF when reading a line

请注意,第一个print语句将打印整个字符串'1 2'。第二个调用input()引发EOFError(文件结束错误)。

因此,一个简单的管道(例如我使用的管道)仅允许您传递一个字符串。因此,您只能拨打input()一次电话。然后,您必须处理此字符串,将其在空白处分割,然后将字符串片段自己转换为int。那是什么

width, height = map(int, input().split())

做。

注意,还有其他方法可以将输入传递给程序。如果您test.py在终端中运行,那么您可以分别键入12没有问题。或者,您可能已经编写了带有pexpect的程序来模拟终端,传递1并以2编程方式进行编程。或者,您可以使用argparse在命令行上传递参数,从而允许您使用

test.py 1 2


 类似资料:
  • 我试图分块读取输入流并写入文件以避免内存问题,我接收json格式的数据,并使用以下代码写入文件。 我的问题是,大多数json都写得很好,虽然其中一些包含损坏的数据,但我不确定我是否正确地将CharBuffer与BufferedReader一起使用,我观察到的另一件事是,对于少量数据,它正确地将CharBuffer写入文件,当我从服务器接收到更大的数据(大约2MB的输入流-不是很大)时,我通常会遇到

  • 我返回了一个代码,使用jsoup-1.7.3.jar读取网页,它对一些网站有效,但对一些URL显示读取超时错误。 线程“main”java.net.SocketTimeoutException中的异常:java.net.SocketInputStream.socketRead0(本机方法)处java.net.SocketInputStream.Read(SocketInputStream.java

  • 问题内容: 不幸的是raw_input并没有做我需要做的事。我想做的就是获取totPrimes =我在提示符下键入的任何内容。如果我用此脚本替换工作。如果在提示中输入50,则此脚本无效,恐怕raw_input不是我要使用的函数吗?这是我的代码片段: 问题答案: 做 给您一个字符串,您必须先将其转换为整数或浮点数,然后再进行数字比较。

  • 这是我的项目结构: 这是我的代码,尝试读取资源文件夹中的文件: 结果都是空的: 将“配置属性”替换为“src/主/资源/配置属性”(带斜杠和不带斜杠)没有任何区别。 其他类似的答案告诉您使用,但这已经是其中一行了。为什么它们都为空,我如何获得资源? 采购订单:

  • 我在读取R中的txt文件时遇到了一些问题,我认为该文件是由行尾问题创建的。我有一个包含两列的数据帧:第一列包含格式为__label__1234的标签,第二列是一个文本字符串(出于隐私原因,我无法共享实际文本,但它可能类似于“我在麦道工作”)。我首先使用write。表将此信息存储在文本文件中 然后我稍后尝试将该文本文件读回R,我得到了不希望的结果。 数据出来看起来类似于 当我渴望的是 知道我可以在读

  • 我试图从一个名为poll.txt的文件中获取数据集,然后使用相关数据。 poll.txt内容: 源代码,选举票.java: 但是,当我运行程序时,在给出异常之前,只使用了其中一行: 我试着在“scanner.nextLine();”语句中移动,但没有用。如果我不要求nextLine,这个程序运行良好,但我显然需要它,而且我似乎不知道出了什么问题。