Bonjour,
Encore un problème d'encodage !
Je sais que le problème a déjà été soulevé plusieurs fois mais je rencontre des difficultés.

Je travaille sous ubuntu avec python2.7 à cause de pyPdf que je n'arrive pas à installer pour python3.

Voici mon code qui cherche à imprimer la première page d'une liste de fichiers pdf dans un fichier tex :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#! /usr/bin/env python
#-*- coding: utf-8 -*-
 
import codecs
from pyPdf import PdfFileReader
import os
 
chemin='/media/marco2/113A293E768D5BA6/scilab/scilab_web/'
liste1=os.listdir(chemin)
liste2=[]
 
for fich in liste1:
	if fich.endswith(".pdf"):
		liste2.append(fich)
 
f = codecs.open("liste3.tex","wb",encoding='utf8')
 
for fichier in liste2:
	print (fichier)
	entree = PdfFileReader(file(chemin+fichier, "rb"))
	page1 = entree.getPage(0)
	txt=page1.extractText()
	print (txt)
	f.write(fichier)
	f.write("\\")
	f.write(txt)
 
f.close()
Voici le message d'erreur après avoir affiché tout le texte de la première page de plusieurs fichiers :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
2-Entrées sorties.pdf
Traceback (most recent call last):
  File "recherche-titre1.py", line 24, in <module>
    f.write(fichier)
  File "/usr/lib/python2.7/codecs.py", line 691, in write
    return self.writer.write(data)
  File "/usr/lib/python2.7/codecs.py", line 351, in write
    data, consumed = self.encode(object, self.errors)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 6: ordinal not in range(128)
Si quelqu'un a une idée...