GIOリファレンスマニュアル によると、_Gio.File
_にはメソッド_copy_async
_があります。 Ubuntu 12.04では、このメソッドを呼び出そうとするとAttributeError
が表示されます。
非同期コピーの代わりに何を使用する必要がありますか?
Gio.OutputStream.splice_async()
を使用できますが、進行状況のコールバックが得られません
あなたが引用しているリファレンスマニュアルはPython用ではありません。 gobjectのイントロスペクションでは、pythonマニュアルはもう利用できません( チュートリアル のみ))が、このマニュアルではpythonマップされた機能。Cの多くの関数は、他の言語からアクセスできるようになっています。
Gioが必要ない場合、行きたい方法の1つは、単にpython組み込み関数を使用することですか?
concurrent.futures
モジュール 非同期で処理を行います(バックポート ここ )。これで、次のようなことができるはずです。
import concurrent.futures
import shutil
with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
executor.submit(shutil.copy, "test1.txt", "test1_new.txt").add_done_callback(
process_result )
executor.submit(shutil.copy, "test2.txt", "test2_new.txt").add_done_callback(
process_result)