问题标签 [eoferror]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python:除了EOFError:...不起作用
我有一个 try/except 块,它发送一条消息并等待来自客户端的确认。如果客户端终止,pickle 会引发 EOFError,但下面的代码不会捕获错误并执行正常关闭。它改为打印堆栈跟踪。我认为它与“除了 socket.error,EOFError:”这一行有关 - 我是否使用错误的语法来处理 socket.error 和 EOFError ?
python - 使用 cPickle 仅返回文件中的第一个条目
我正在使用 cPickle 将字典对象存储到文件中,并且无法获取除第一个之外的任何其他条目。最初该文件tweets.pkl
是空的,并且EOFError
引发了 。我确信这与它有关。谢谢
ruby-on-rails - “慢” API 上的 ActiveResource EOFError
我正在努力解决这个问题,任何帮助将不胜感激!
我有两个 Rails 应用程序,我们称它们为 Client 和 Service,都非常简单,普通的 REST 接口 - 这是基本场景:
- 客户端向服务发出 POST /resources.json 请求
- 服务运行一个创建资源并向客户端返回 ID 的进程
同样,一切都非常简单,只是服务处理非常耗时,可能需要几分钟。如果发生这种情况,客户端会在请求发出 60 秒后引发 EOFError(无论 ActiveResource::Base.timeout 设置为什么),同时服务正确处理请求并以 200/201 响应。这是我们在日志中看到的(按时间顺序):
显然,服务响应从未到达客户端。我将错误追溯到套接字级别,并在脚本中重新创建了该场景,在该脚本中我打开了一个 TCPSocket 并尝试检索数据。由于我没有请求任何东西,我不应该得到任何东西,我的请求应该在 70 秒后超时(参见底部的完整脚本):
这些是一些域的结果:
如您所见,一些服务器允许我们“等待”整整 70 秒,而其他服务器终止了我们的连接,引发了 EOFErrors。当我们对我们的服务进行此测试时,我们(预期)在 60 秒后收到 EOFError。
有谁知道为什么会这样?有什么办法可以防止这些或延长服务器端超时?由于我们的服务继续“工作”,即使在套接字关闭后,我认为它必须在代理级别终止?
每一个提示将不胜感激!
PS:完整脚本:
python - Pickle:读字典,EOFError
我最近发现了泡菜,这太棒了。但是当用于我的实际脚本时,它会出错,使用单项字典对其进行测试,它工作正常。我真正的脚本是数千行代码,将 Maya 中的各种对象存储到其中。我不知道它是否与大小有关,我在这里阅读了很多线程,但没有一个特定于我的错误。
我尝试过所有优先级的写作。没运气。
这是我的输出代码:
这是我的阅读代码:
这是错误:
python - 使用 ftplib 时出现 EOFError 和异常
我正在研究使用 ftplib (可能还有ftputil)来进行一些自动 FTP 文件同步。目前我有几台服务器要对此进行测试,但是,当我与两台服务器进行成功的对话时,每个错误回复都会得到 EOFError-s。例如:如果我尝试使用不正确的用户/密码登录,我会收到 530 响应,但我也会收到 EOFError;如果我使用正确的用户/密码登录或在这样做之后尝试使用 dir() 等,我不会收到 EOFError。
它似乎只出现错误消息。我强烈怀疑这可能是由服务器而不是 python 引起的:我在其他地方没有发现任何关于这个问题的提及。但是,我对服务器设置几乎没有控制权。
我在征求意见:
- 您知道首先可能导致错误的原因是什么吗?
- 如果是服务器端,你能更具体一点吗?在我知道它是什么之前,我不知道我是否能做任何事情......
- 你觉得我应该怎么处理?我想我可以
except EOFError: pass
在每次处理异常之前添加一个,但如果你有更好/更简洁的想法,我很乐意听到它们。
谢谢!
python - raw_input() 中的 Python EOF 错误
我正在尝试在命令提示符下从用户那里获取输入。程序以“cat text.txt | ./thescript.py”的方式从文本文件中读取数据
在有问题的脚本处,所有数据都已被读入、处理并放入列表列表中。
现在我正在遍历该列表以查找有问题的项目。代码基本上是这样的:
此代码导致 EOFError。据我所知,在这种情况下,stdin 是从 cat 读取的,因为它已经达到 EOF,这就是 raw_input 在这里获得 EOF 的原因?(我认为)目标是让脚本向标准错误打印警告,让我选择是否忽略警告并继续或完全退出。最后,所有输出都进入标准输出,并且不包括任何错误警告或响应。我已经看到使用 try/exception 的示例,但在这种情况下我无法理解它。(例如,为什么 raw_input 不等待输入?)
我想我可能只是以错误的方式解决了这个问题,从而产生了一个可以更好地四处走动然后跳过的问题。一如既往地感谢任何帮助。
python - 在 Python 中酸洗时出现 EOFError
这就是问题所在 - 我正在尝试腌制,然后解开他的核心。当我使用 pickle.load 时,Python 似乎认为我正在尝试加载我拥有的名为“Pickle”的文件。这是代码:
这是酸洗代码:
这是错误消息:
如果有任何其他错误,请不要担心,我还在学习,但我无法解决这个问题。
ruby-on-rails - 运行 PrivatePub.publish_to 时出现 EOF 文件结尾错误
我收到 EOFError 文件结尾错误。在 SSL 的 rails 控制器中运行 PrivatePub.publish_to("/dir/file", "Some Text") 时。认为它与 uri 不解析有关。不过真的不知道,也无法追踪任何东西来为我指明正确的方向。
还有其他人尝试使用 SSL 运行 PrivatePub 并遇到类似的情况或有解决方案吗?
更新:也许在控制台中有一些有用的东西。跑了:
res = PrivatePub.publish_to("/orders/160/status_update", "confirmed")
得到:=>#<Net::HTTPOK 200 OK readbody=true>
然后跑:
res.body
得到:=> [{"channel":"/orders/160/status_update","error":"Incorrect token.","successful":false}]
更新:
当我运行瘦服务详细时得到这个:
[{"id":"g","channel":"/meta/connect","successful":false,"error":"401:3qz34hj7bsqbpr953e8rfa89b:Unknown client" ,"建议":{"重新连接":"握手"}}]
更新:
在 nginx 配置中做了一些事情,现在我得到了:400 普通 HTTP 请求已发送到 HTTPS 端口。
更新:
我对服务器设置所做的一切都无法解决这个问题。这是 EOFError 响应中与 private_pub 相关的错误:
来自 /usr/local/rvm/gems/ruby-1.9.3-p125/gems/private_pub-1.0.1/lib/private_pub.rb:34:in publish_message
from /usr /local/rvm/gems/ruby-1.9.3-p125/gems/private_pub-1.0.1/lib/private_pub.rb:28:in publish_to
其中是:
第 34 行 publish_message(message(channel, data))
第 28 行 url = URI.parse(config[:server])
解决了!
在我的 private_pub gem 的分支中添加了 require 'net/https' 和 require 'uri' 到 lib/private_pub.rb。
不确定 net/https 或 uri 或两者都是票,但我不再收到 EOFError 并且 publish_to 方法似乎现在像宣传的那样工作。我想我现在需要请求与主分支合并,或者通知原始 gem 所有者,让他按照他认为合适的方式去做。
ruby - 带有开放uri和循环的Ruby EOFError
我正在尝试构建一个网络爬虫,但遇到了一些障碍。基本上我正在做的是从网页中提取链接并将每个链接推送到队列中。每当 Ruby 解释器遇到这部分代码时:
我收到以下错误:
如果我注释掉上面的代码块,我不会收到任何错误。请,任何帮助将不胜感激。这是其余的代码:
python - Python酸洗字典EOFError
我在服务器上运行了几个脚本,这些脚本可以腌制和解开各种字典。它们都使用相同的基本代码进行酸洗,如下所示:
除了其中一个之外,所有脚本都运行良好。有问题的人会去各种网站并抓取数据并将其存储在字典中。此代码整天运行酸洗和解酸字典,并在午夜停止。一个 cronjob 然后在第二天早上再次启动它。该脚本可以运行数周而不会出现问题,但大约每月一次,该脚本在尝试打开字典时由于 EOFError 而死。字典的大小通常约为 80 MB。我什至尝试在提取数据时在 SellerDict.close() 之前添加 SellerDict.flush() 以确保晚上被刷新。
有什么想法可能导致这种情况吗?Python 非常可靠,所以我认为这不是文件大小的原因。代码在死前运行了很长时间,这让我相信,也许字典中保存了一些导致这个问题的东西,但我不知道。
此外,如果您知道除了 pickle 之外还有更好的方法来保存字典,我愿意接受选择。就像我之前说的,字典不断地被打开和关闭。只是为了澄清,只有一个程序会使用同一个字典,所以这个问题不是由几个程序试图访问同一个字典引起的。
更新:
这是我从日志文件中获得的回溯。