PyGObject: Gio.File.copy_async () non esiste in Ubuntu 12.04

4

Secondo Manuale di riferimento GIO Gio.File ha un metodo %codice%. In Ubuntu 12.04 sto ricevendo un copy_async quando provo a chiamare questo metodo.

Che cosa dovrei usare invece per la copia asincrona?

Potrei usare AttributeError ma ciò non mi dà una callback di avanzamento

    
posta Florian Diesch 05.08.2012 - 00:54

1 risposta

2

Il manuale di riferimento che stai citando non è per python. Sono consapevole che con gobject introspection non è più disponibile alcun manuale python (solo un tutorial ), ma questo manuale non documenta la funzionalità mappata python. Molte funzioni di C non sono state rese accessibili da altre lingue.

Un modo in cui potresti voler andare, se non hai bisogno di Gio, è semplicemente usare le funzioni built-in di Python?

Il concurrent.futures modulo fa le cose in modo asincrono (backported qui ). Con quello dovresti essere in grado di fare qualcosa del genere:

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)

Ulteriori informazioni su questa versione qui e qui .

    
risposta data xubuntix 05.08.2012 - 08:31

Leggi altre domande sui tag