0
私はPython 2と3の間で互換性のあるアプリケーションをビルドします。これらの2つのPythonバージョン間の互換性を提供するために、私はsix libraryを使用します。Sixのソケット実装
私のコードはsocketsを使用します。 Python 3では、with
ステートメントを使ってそれらを作成することは可能ですが、Python 2ではそれは__exit__
属性が欠けていると主張しています。
ディスポーザブルソケットを6つ用意する機能はありますか?そうでない場合は、この場合最も明確な解決策は何ですか?
良い点を。あなたの提案と比較して私が適用する唯一の変更は、 'version_info [0]'の代わりに6つのPythonバージョンチェック(https://pythonhosted.org/six/#package-contents)を使用することです。 – pt12lol
その他の質問:python2バージョンのみを使用するのではなく、2つのバージョンを導入する利点は何ですか? – pt12lol
@ pt12lolはい、私はtry-finallyを逃しました。私はPython 2でcontext managerのバージョンに 'socket'という名前を再バインドできると思いますが、そのような標準的な名前の名前を変更するのは好きではありません。代わりに、私はそれを無条件で使用できる新しい名前にバインドすることを選択しました。 –