OVH Cloud OVH Cloud

Comment savoir si un fichier est ouvert ?

14 réponses
Avatar
Bruno GUERPILLON
Bonjour à tous,

Je cherche à faire un script python pour faire une sauvegarde de fichier.
Avant de sauvegarder chaque fichier, je voudrais vérifier si ce fichier est
ouvert ou non (en gros, est-ce que le fichier est locké par un processus).
En effet, dans le cas d'une sauvegarde d'une base Oracle par exemple, il
vaut mieux vérifier que les fichiers ne sont pas en cours d'utilisation au
risque de corrompre la base.
Avez-vous des idées dans ce sens ?

Cordialement,

Bruno.

4 réponses

1 2
Avatar
Bruno GUERPILLON
a écrit dans le message de news:

On 8 avr, 16:41, "Bruno GUERPILLON" wrote:

(snip rant plus ou moins agréable mais qui ne donne pas forcément
envie d'aider plus)

Maintenant, je reprend ma demande d'origine :

Quelqu'un aurait-il une idée pour récupérer la liste des fichiers ouverts
(comme un lsof sous Unix, ou par la commande Handle.exe de
Sysinternals/M$).


Il y a en Python des fonctions pour lancer d'autres programmes et en
récupérer les sorties:
http://docs.python.org/lib/module-subprocess.html

Donc si tu connais le programme à appeler en fonction de l'OS, y plus
qu'à...


Bonjour Bruno et merci de ta réponse.
Je ne veux pas partir dans un digression mais au sujet du "rant", tu
conviendra que c'est plus qu'agaçant d'avoir des réponses qui ne concerne
absolument pas la demande d'origine.

Pour revenir au sujet d'origine, étant néophite en Python, j'avais espéré
qu'il existe une possibilité de lister les locks ou handle d'un fichier.
D'après les réponses des NG Francophones et Anglophone, je pense me tourner
vers un appel de handle.exe et parser le résultat.

Amicalement,

Bruno.

Avatar
Bruno GUERPILLON
"Guillaume" a écrit dans le message de
news: fti192$cef$
On 8 avr, 16:41, "Bruno GUERPILLON" wrote:

(snip rant plus ou moins agréable mais qui ne donne pas forcément
envie d'aider plus)


Soit dit en passant c'était quand même nécessaire, il a demandé *une*
chose, et a fourni un exemple, et ceux qui ont répondu ont sauté sur
l'exemple, malgré ses rappels à la question.

A titre de comparaison, je viens en disant "Je veux me mettre a Python, je
pense faire un ptit blog pour apprendre, j'ai besoin d'aide pour blabla"
et que tout le monde me disait "Créé ton compte chez Whatever-blog.truc et
t'auras pas à t'emmerder". C'est une réponse, mais ce n'est pas la
question ;)

Alors si en plus on le critique là dessus... moi je dirais plutôt qu'au
moins il a tenté d'éviter le HS sur Oracle où les outils système pour
revenir sur une question concernant Python.

Cordialement,
--
Guillaume


Merci Guillaume de ta réponse.
Vu que je suis tétu, je continu de chercher un moyen de lister les fichiers
ouverts.
Mes dernières recherches m'ont amené ici :
http://www.nirsoft.net/utils/opened_files_view.html
L'auteur indique qu'il utilise l'appel : NtQuerySystemInformation
(http://msdn2.microsoft.com/en-us/library/ms724509.aspx)

Donc peut être appeler cette fonction va python (Pywin32 ?) peut être une
solution.
Je continu dans ce sens.

Amicalememt.


Avatar
Bruno Desthuilliers
a écrit dans le message de news:

On 8 avr, 16:41, "Bruno GUERPILLON" wrote:

(snip rant plus ou moins agréable mais qui ne donne pas forcément
envie d'aider plus)


(snip)

Bonjour Bruno et merci de ta réponse.
Je ne veux pas partir dans un digression mais au sujet du "rant", tu
conviendra que c'est plus qu'agaçant d'avoir des réponses qui ne concerne
absolument pas la demande d'origine.


Non, je n'en conviendrai pas. Non, ça ne m'agace pas. Ca m'a même
parfois évité de perdre du temps en partant sur une mauvaise piste.

Quand quelqu'un prend la peine et le temps de me lire et de répondre -
même à côté, ou même pour me dire quelque chose que je sais déjà - je
lui en suis reconnaissant. Ce n'est pas une hot-line, ici, c'est un
groupe de discussion.

Avatar
Bruno GUERPILLON
"Bruno Desthuilliers" a écrit
dans le message de news: 47fcc83c$0$32619$
a écrit dans le message de news:

On 8 avr, 16:41, "Bruno GUERPILLON" wrote:

(snip rant plus ou moins agréable mais qui ne donne pas forcément
envie d'aider plus)


(snip)

Bonjour Bruno et merci de ta réponse.
Je ne veux pas partir dans un digression mais au sujet du "rant", tu
conviendra que c'est plus qu'agaçant d'avoir des réponses qui ne concerne
absolument pas la demande d'origine.


Non, je n'en conviendrai pas. Non, ça ne m'agace pas. Ca m'a même parfois
évité de perdre du temps en partant sur une mauvaise piste.

Quand quelqu'un prend la peine et le temps de me lire et de répondre -
même à côté, ou même pour me dire quelque chose que je sais déjà - je lui
en suis reconnaissant. Ce n'est pas une hot-line, ici, c'est un groupe de
discussion.



C'est fou comme un sujet peut dériver à ce point. Ca sera mon dernier
message au sujet de cette déviation de sujet.
Si je voulais discuter, j'aurai certainement préféré un logiciel de chat.
De mon point de vue (peut être que je me trompe) un NG (d'autant plus
technique) est un lieu où l'on vient partager ses problèmes et trouver des
solutions (non?).
Sans tomber dans le graveleux, si tu aimes qu'on te réponde à côté, c'est
pas les NG qu'il faut utiliser.

(quand même) Amicalement.


1 2