Wait until a File is modified

PythonBeginner -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je découvre Python et j'ai pour projet de programmer un petit chat qui marche sur dossier réseau (je profite du codage de ce programme pour apprendre le language). J'ai besoin d'une commande qui attend qu'un fichier soit modifié pour continuer.
Vu qu'un exemple est toujours plus compréhensible que des paroles, voici l'état de mon code :

chatRoom = open('chatRoomTxt.aes', 'r')
# Un fichier dans lequel sont écrits tous les messages du chat

while True:
       print(chatRoom.readlines())
       # commande qui attend que 'chatRoomTxt.aes' soit modifié pour continuer


J'aurais pu mettre une commande time.sleep(n) (avec n, un nombre de secondes), mais cela ne sert à rien si personne n'écrit dedans.

C'est pourquoi je voulais savoir s'il existait une commande permettant de sleep le programme jusqu'a ce que le fichier 'chatRoomTxt.aes' soit modifié.

Merci

1 réponse

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Bonjour,

    À ta place je regarderais du côté du paquet
    watchdog
    ou
    inotify
    .

    Du peu que je vois, je partirais plutôt sur
    watchdog
    (sous debian/ubuntu:
    sudo apt install python3-watchdog
    ). Voir cet exemple.

    Bonne chance
    0