commande shell avec Popen : problème d'accent
salut
je voudrais réaliser une simple copie de fichier en lançant ma commande shell dans un subprocess.Popen.
Le problème, c'est qu'un de mes utilisateurs s'appelle Noëlle, qu'il a un répertoire à son nom et que Popen plante quand je veux faire la copie.
j'obtiens alors l'erreur suivante :
Code:
1 2 3 4 5 6 7 8 9 10
| Traceback (most recent call last):
File "C:\Documents and Settings\cyrull\Bureau\PDF\pdf2xls.pyw", line 641, in MonAppli
reppdf2txt = self.pdf2txt()
File "C:\Documents and Settings\cyrull\Bureau\PDF\pdf2xls.pyw", line 140, in pdf2txt
p = subprocess.Popen(commande, shell = True)
File "C:\Python25\lib\subprocess.py", line 594, in __init__
errread, errwrite)
File "C:\Python25\lib\subprocess.py", line 816, in _execute_child
startupinfo)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xeb' in position 87: ordinal not in range(128) |
qui est liée au ë. Si je remplace Noëlle par Noelle, plus de problème.
Or, sur la même machine, si je vais directement dans l'invite de commande DOS, je n'ai aucun problème pour exécuter ma commande. En d'autres termes, c'est Popen et non DOS qui pose problème !
voilà le code concerné :
Code:
1 2 3 4
|
commande = 'copy "' + self.FichierCopie + '"'
p = subprocess.Popen(commande, shell = True)
p.wait() |
Est-ce que quelqu'un voit d'où le problème peut venir sachant que j'ai aussi essayé unicode(commande) dans le Popen
Merci d'avance pour votre aide
Cyrull