Dans mon travail, je travaille avec une grande application .NET qui écrit dans un fichier journal. Appelons l'application CompanyApplication
. J'ai écrit un simple script Python qui efface le journal:Effacement d'un fichier journal en cours d'utilisation
file_object = open('C:\\log.txt', 'w')
file_object.write("")
file_object.close()
Lorsque CompanyApplication.exe
n'est pas en cours d'exécution cela fonctionne correctement. Toutefois, lorsque CompanyApplication.exe
est en cours d'exécution, je reçois cette erreur:
Traceback (most recent call last):
File "deleteLog.py", line 1, in <module>
file_object = open('C:\log.txt', 'w')
IOError: [Errno 13] Permission denied: 'C:\log.txt'
Ce doit être parce que CompanyApplication
détient un verrou sur le fichier journal. Est-il possible de "déverrouiller" le fichier journal, l'effacer, puis "remettre le verrou" à CompanyApplication
? Je préférerais une solution qui pourrait être automatisée (c'est pourquoi j'ai écrit le script Python en premier lieu). Infos supplémentaires: Il n'y a que peu de choses que je peux faire pour changer CompanyApplication
lui-même. J'utilise Windows XP Pro. J'ai des privilèges d'administrateur.
Je suppose que la gestion de 'SIGHUP' est terminée ... –