自動FTPファイルの同期を行うためにftplib(おそらくftputil)を使用しています。私は現時点でこれをテストするサーバをいくつか持っていますが、両方のサーバとの会話が成功している間は、エラー応答ごとにEOFErrorを取得します。たとえば、間違ったユーザー/パスでログインしようとすると、私は530レスポンスをすべて取得しますが、EOFErrorも取得します。私が正しいユーザーでログインしていたり、パスしたり、そうした後にdir()しようとすると、私はEOFErrorを取得しません。ftplibを使用しているときに例外を伴うEOFErrorを取得する
エラーメッセージが表示されているようです。私はこれが、Pythonではなくサーバーによって引き起こされている可能性が高いと強く思っています。私はこの問題について他のところで言及していません。しかし、私はサーバーの設定をほとんど制御していません。
私はアイデアを求めている:あなたは、最初の場所でエラーの原因となることができるもの
- 知っていますか?
- サーバー側であれば、より具体的にできますか?私はそれが何であるかを知るまで私が何かをすることができるかどうかわかりません...
- 私はこれをどう対処すべきだと思いますか?私は例外を処理するたびに
except EOFError: pass
を追加することができたと思うが、あなたがより良い/より精巧なアイデアを持っていれば、私はそれらを聞きたい。
ありがとう!
私はログインでき、ディレクトリリストを取得し、ディレクトリを作成しようとしました。作成する権限がありません(また、 'error_perm'と一緒に' EOFerror'を取得します)同じ接続オブジェクトに対して 'dir()' _again_を正常に実行してください。接続を終了した場合、後者をやり直すことはできません(少なくとも再ログインする必要があります)。 – bdeniker
私は接続の2つのレベルがあると思う - 各要求と応答は本質的に1つの接続ですが、制御チャネルは本質的に別の接続です。この 'EOF'はすべてのコマンドの後に起こりますが、コマンドがエラーだったときにあなたに泡立つだけです。 – agf
私はそうだと思いますが、なぜサーバが例外を伴う空行を送るのかまだ分かりません。その上に、['ftputil'](http://pypi.python.org/pypi/ftputil/ 2.4.1)は 'ftplib'を使用しているように見えますが、関連する例外のみを返します... – bdeniker