Bonjour à tous
Voilà, j'ai un petit problème technique au niveau des encodages.
J'ai un exécutable, qu'on va appeler Test.exe, qui prend en argument une chaine de caractères correspondant à un fichier, par exemple 'C:\Log\log.txt'.
Ce programme procède à différents traitements, et renvoie les données sur la sortie standard.
J'appelle le tout via un script Python et le module subprocess.
Mon problème est le suivant. J'ai des noms de fichier en japonais sur mon système de fichier. Aussi, mon argument de fonction sera un fichier japonais.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 cmd = r'Test.exe "C:\Log\log.txt"' subprocess.Popen(cmd)
Je voudrais pouvoir lancer quelque chose du genre ci-dessus, mais en forçant le terminal dans lequel se lance mon exécutable à tourner avec un encodage compatible japonais (utf8 ou cp932 par exemple) au lieu de l'encodage par défaut (cp1252).
Malheureusement je ne sais pas comment faire pour dire à Python de modifier les encodages stdin et stdout proprement. Si quelqu'un avait une idée ça m'aiderait beaucoup !!!
Partager