Bonjour à tous,
J'ai développé un code permettant de modifier le fichier de config Tomcat. Pour cela, j'ai implémenté un code python et je le fait appel via un script Batch.
J'ai deux soucis qui me gêne depuis deux jours: 1) Tout d'abord, quant je lance le script Batch en mode non administrateur, le code modifie le fichier "tomcat-users.xml" qui se trouve dans le dossier contenant le même script Batch alors que le paramètre qui définie le fichier réfère à un autre fichier. J'ai essayé d'enlever ce fichier et le code Batch ne m'affiche pas une erreur mais il fait rien...
2) Quant je lance le code Batch en mode administrateur, il ne fait rien même pour le fichier qui se trouve dans le même dossier que le fichier python..
Voilà le deux codes:
Script Batch:
Code python:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 @echo off set current_path=%~dp0 set current_path_modified=%current_path:~0,-1% C:\Python27\python.exe "%current_path_modified%\addAdminTomcat.py" "C:\Program Files\tomcat-users.xml" "admin" "password"
J'ai besoin de lancer le code Batch en mode administrateur puisque je change un fichier sous C:/ Program Files/xxxx
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 import xml.etree.ElementTree as ET import sys class EditConfigTomcat: def add_admin(self,Fichier,user,password): tree = ET.parse(Fichier) xmlRoot = tree.getroot() attributes = {"name": user, "password": password, "roles": "admin,manager"} child = ET.Element('user',attributes) xmlRoot.append(child) tree.write("tomcat-users.xml", "cp1252", True) if __name__=="__main__": edt=EditConfigTomcat() edt.add_admin(sys.argv[1],sys.argv[2],sys.argv[3])
Toute information sera le bien venue et Merci beaucoup d'avance !
Partager