Bonjour,

J'essaye de nettoyer en Python3 un fichier qui contient des codes spéciaux qui devraient correspondre à des accents:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
#353= IFCPROPERTYSINGLEVALUE('Charge d''\X2\00E9\X0\clairage sp\X2\00E9\X0\cifi\X2\00E9\X0\e par surface',$,IFCREAL(10.7639104167097),$);
J'ai créé cette petite fonction:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
# -*- coding: utf-8 -*-
...
def CleanSpace(sp):
    sp.replace("\X2\00F4\X0\","ô")
    sp.replace("\X2\00E9\X0\","é")
    return(sp)
mais en exécutant mon programme, j'ai alors l'erreur suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
    sp.replace("\X2\00F4\X0\","ô")
                               ^
SyntaxError: invalid syntax
Si je double le \ final : \X2\00F4\X0\\ je n'ai plus l'erreur mais la conversion en é ne se fait pas...

J'ai tenté ensuite de lancer quelques commandes en console python mais le comportement de la chaîne me semble assez bizarre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
$ python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> a='02_RADIOTHERAPIE/ ARC -plateforme recherche- Radioth\X2\00E9\X0\rapie'
>>> a
'02_RADIOTHERAPIE/ ARC -plateforme recherche- Radioth\\X2\x00E9\\X0\rapie'
>>> a.replace('\X2\00E9\X0\\','é')
'02_RADIOTHERAPIE/ ARC -plateforme recherche- Radioth\\X2\x00E9\\X0\rapie'
Des idées?
Merci d'avance