2011-09-17 9 views
9

オープンファイルオブジェクトが2つあります(destsrc)。ファイルオブジェクトdestが書き込みのために開かれ、シーク位置がファイル内のあるオフセットに置かれ、ファイルオブジェクトsrcが読み込み用に開かれます。私がしなければならないことは、srcの現在の位置からEOFに読み取って、できるだけ早く内容をdestに転送することです。PythonはゼロコピーI/Oをサポートしていますか?

Javaでプログラミングしていた場合は、FileChannel#transferTo()メソッドを使用してゼロコピーファイルの入出力を実行できます。

Pythonはゼロコピーもサポートしていますか?

答えて

7

バージョン3.3以降、PythonにはさまざまなUnixのバリエーション 'sendfile(2)ゼロコピーI/Oインターフェイスにインターフェイスするos.sendfileがあります。一般的なファイルのようなオブジェクトではなく、ファイル記述子で動作します。古いPythonsの場合、py-sendfileがあります。

関連する問題