Je vais essayer d'expliquer un peu plus clairement : j'essaye de comprendre comment utiliser les modules Shutil et os sur Python 3.8.5 pour pouvoir jeter un œil à un dossier, déterminer si son contenu a été créé et/ou modifié au cours des dernières 24 heures... et s'ils l'ont fait, déplacez ces fichiers vers un autre dossier.

Je vais essayer de lier le code que j'ai ici, je suis encore assez novice dans l'utilisation de Stackoverflow, alors je m'excuse :

import shutil
import os

shutil.copystat(' \Users\aaron\Desktop\checkFiles\File B.txt', "\Users\aaron\Desktop\needToCopy\"," follow_symlinks=True)

Ce code continue de me donner des erreurs de syntaxe invalides. Je ne sais pas ce que je fais mal, j'ai même regardé docs.python.org, mais, comme je suis très nouveau dans le codage, c'était assez grec pour moi.

0
Aaron Alderdyce 22 oct. 2020 à 19:02

1 réponse

Meilleure réponse

Je ne suis pas sûr de ce que vous essayez de réaliser en utilisant shutil.copystat. Il copie uniquement les statistiques et les autorisations sur le chemin. (Si votre File B.txt est en lecture seule, le needToCopy sera également en lecture seule)

Pour connaître les heures de création et de modification, consultez cette excellente réponse.

J'aborderais la vérification de la modification de la fenêtre horaire de 24 heures comme ceci :

import os, time
DIR_PATH = "."
for filename in os.listdir(DIR_PATH):
    if os.path.getmtime(filename) >= (time.time() - 60*60*24): print(filename)

Et pour la partie mobile, il y a (par exemple) shutil.move. Donc ça pourrait ressembler à ça :

import os, time, shutil
SRC_PATH = "."
TARGET_PATH = "../"
for filename in os.listdir(SRC_PATH):
    if os.path.getmtime(filename) >= (time.time() - 60*60*24): 
        shutil.move(os.path.join(SRC_PATH, filename), TARGET_PATH)  
0
Minarth 23 oct. 2020 à 07:53