Bonjour à tous,
Tout d'abord voici 2 scripts,
le premier :
et donc ce code fonctionne.
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 import odf.opendocument import odf.text doc = odf.opendocument.OpenDocumentText() p1 = odf.text.P(parent=doc.text, text="paragraphe 1",classnames="1") p2 = odf.text.P(parent=doc.text, text="paragraphe 2",classnames="2") p3 = odf.text.P(parent=doc.text, text="paragraphe 3",classnames="3") p4 = odf.text.P(parent=doc.text, text="paragraphe 4",classnames="4") p1.parentNode.removeChild(p1) p2.parentNode.removeChild(p2) p3.parentNode.removeChild(p3) p4.parentNode.removeChild(p4) liste2=doc.getElementsByType(odf.text.P) print('liste2 : ',liste2) # Sans surprise, il n'y a aucun paragraphe...
le second :
Pourquoi ce code ne fonctionne pas ?
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 import odf.text doc = odf.opendocument.OpenDocumentText() p1 = odf.text.P(parent=doc.text, text="paragraphe 1",classnames="1") p2 = odf.text.P(parent=doc.text, text="paragraphe 2",classnames="2") p3 = odf.text.P(parent=doc.text, text="paragraphe 3",classnames="3") p4 = odf.text.P(parent=doc.text, text="paragraphe 4",classnames="4") liste=doc.getElementsByType(odf.text.P) print('len de liste : ',len(liste)) for p in doc.getElementsByType(odf.text.P) : #doc.clear_caches() p.parentNode.removeChild(p) #doc.clear_caches() liste2=doc.getElementsByType(odf.text.P) print('len de liste2 : ',len(liste2)) # --> 2 doc.save(r"C:\Users\chris\Documents\mesScryptPython\fichiers odt\tester_suppression.odt") # Pourquoi 2 paragraphes !!!
J'ai beau essayez d'utiliser
doc.clear_caches()
mais sans succès.
Si l'un de vous à un début de solution...
Partager