copier un fichier

copier un fichier - Python - Programmation

Marsh Posté le 24-04-2011 à 02:54:17    

Salut,
 
Je débute en python et j'essaye de copier un fichier. Je ne comprend pas pourquoi un truc comme :
 

Code :
  1. def copy(src,dest):
  2.   s=open(src,"r" )
  3.   t=open(dest,"w" )
  4.   while 1
  5.      buf=s.read(1)
  6.      if buf:
  7.         t.write(buf)
  8.      else:
  9.         break
  10.   s.close()
  11.   t.close()


 
Ne fonctionne pas. Ca marche pour des fichiers textes mais pas pour des fichiers binaires quelconques, mp3 par exemple. Je ne comprend pas, dans les autres langages la copie octet a octet marche bien  :??:


Message édité par PierreFeuille le 25-04-2011 à 02:26:59
Reply

Marsh Posté le 24-04-2011 à 02:54:17   

Reply

Marsh Posté le 24-04-2011 à 16:37:32    

Si tu ouvres les fichiers en binaires, ca marchera mieux (rb ou wb).
 
Pourquoi tu n'utilises pas la fonction copie de fichier de la libraire standard?

Reply

Marsh Posté le 24-04-2011 à 20:17:52    

En effet ça marche tout de suite beaucoup mieux, merci ! C'était marqué en petit dans mon tutoriel je l'ai zappé. Pour les fonctions standard, j'aime bien quand même connaître les trucs de base comme la manipulation de fichiers par octets.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed