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 :
qui est liée au ë. Si je remplace Noëlle par Noelle, plus de problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
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é :
Est-ce que quelqu'un voit d'où le problème peut venir sachant que j'ai aussi essayé unicode(commande) dans le Popen
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 commande = 'copy "' + self.FichierCopie + '"' p = subprocess.Popen(commande, shell = True) p.wait()
Merci d'avance pour votre aide
Cyrull
Partager