2011-09-17 1 views
9

ho due oggetti file aperti, dest e src. oggetto File dest è aperto per la scrittura, con la posizione di cercare posto ad un certo indirizzo all'interno del file, e oggetto file src viene aperto per la lettura. Quello che devo fare è semplicemente letta dalla posizione attuale in src per EOF e trasferire il contenuto di dest il più rapidamente possibile.Python supporta l'I/O a zero copie?

Se fossi programmazione in Java, che potrebbe utilizzare il metodo FileChannel#transferTo() per eseguire file di zero copia di I/O.

fa Python supportano anche zero copia?

risposta

7

Dalla versione 3.3, Python ha os.sendfile, che si interfaccia con le varie interfacce I/O a copia zero delle varianti di Unix sendfile(2). Funziona su descrittori di file, non su oggetti generici di tipo file. Per i pitoni più vecchi, c'è py-sendfile.