Salut
Effectivement, en rajoutant "b", et "\\" pour le séparateur des racines, la fonction open() fonctionne. J'ai donc tapé ce programme afin de voir ce que ça donne:
Hmmm, çà c'est un peu "beurk":
f=open("c:\\gabriel\\prepa\\hec10\\devoir2010\\DL01.pdf","r"+"b")
\\ permet de "quoter" le slash et de ne pas interprêter le caractère suivant. Imaginez un string en C avec des \ à l'intérieur.
Pour dire à Python de ne pas interprêter les \, il "suffit":
- de mettre r"c:\gabriel\prepa\hec10\devoir2010\DL01.pdf"
- ou de l'écrire à la UNIX: "c:/gabriel/prepa/hec10/devoir2010/DL01.pdf"
Ou alors, existe-t-il une commande qui permet de passer d'une chaine <<texte>> en une chaine binaire?
C'est un peu pareil que le r: on dit à Python de ne pas "interprêter", i.e. de lire une suite d'octets sans chercher à les transformer en Unicode.
Si vous voulez transformer le texte du PDF en Unicode, il faut savoir lire le contenu du PDF pour savoir comment il est encodé... ou utiliser une bibliothèque PDF qui va bien.
Ce serait la même chose si vous lisiez du XML ou n'importe quoi qui soit autre chose qu'ASCII.
- W
Partager