Accédez au pool de fichiers
instance pool
L'objet pool
offre un accès de type dict au pool de fichiers. Lors
de la vérification de la présence d'un fichier dans le pool de fichiers, plusieurs dossiers sont
recherchés.
Pour plus de détails, voir pool.folders()
.
Un objet pool
est créé
automatiquement lorsque l'expérience démarre.
En plus des fonctions répertoriées ci-dessous, les sémantiques suivantes sont prises en charge :
Exemples
Utilisation de base :
# Obtenir le chemin complet d'un fichier dans le pool de fichiers
print(f'Le chemin complet du fichier img.png est {pool["img.png"]}')
# Vérifier si un fichier est dans le pool de fichiers
if 'img.png' in pool:
print('img.png est dans le pool de fichiers')
# Supprimer un fichier du pool de fichiers
del pool['img.png']
# Parcourir tous les fichiers du pool de fichiers. Ceci récupère les chemins complets.
for path in pool:
print(path)
# Vérifier le nombre de fichiers dans le pool de fichiers
print(f'Il y a {len(pool)} fichiers dans le pool de fichiers')
Obtenir une image du pool de fichiers et utiliser un Canvas
pour l'afficher.
image_path = pool['img.png']
mon_canvas = Canvas()
mon_canvas.image(image_path)
mon_canvas.show()
add(path, new_name=None)
Copie un fichier dans le pool de fichiers.
Paramètres
- path: Le chemin complet du fichier sur le disque.
- new_name: Un nouveau nom pour le fichier dans le pool, ou None pour utiliser le nom original du fichier.
Exemple
pool.add('/home/username/Pictures/my_img.png')
clean_up(self)
Supprime le dossier du pool.
fallback_folder(self)
Le chemin complet du dossier de secours du pool, qui est le
sous-dossier __pool__
du dossier de l'expérience en cours, ou
None
si ce dossier n'existe pas. Le dossier de secours du pool
est surtout utile en combinaison avec un système de versionnement
tel que git, car il permet de sauvegarder l'expérience sous forme de fichier
texte brut, même lorsqu'il y a des fichiers
dans le pool de fichiers.
Renvoie
-
Exemple
if pool.fallback_folder() is not None:
print('Il y a un dossier de pool de secours !')
files(self)
Renvoie tous les fichiers dans le pool de fichiers.
Renvoie
- Une liste de chemins complets.
Exemple
for path in pool.files():
print(path)
# Équivalent à :
for path in pool:
print(path)
folder(self)
Donne le chemin complet du dossier (principal) du pool. Il s'agit généralement d'un dossier temporaire qui est supprimé lorsque l'expérience est terminée.
Renvoie
- Le chemin complet du dossier principal du pool.
Exemple
print(f'Le dossier du pool se trouve ici: {pool.folder()}')
folders(include_fallback_folder=True, include_experiment_path=False)
Donne une liste de tous les dossiers qui sont recherchés lors de la récupération du chemin complet d'un fichier. Ceux-ci sont (par ordre d'apparition) :
- Le dossier du pool de fichiers
lui-même, tel que renvoyé par
pool.folder()
. - Le dossier de l'expérience en cours (s'il existe)
- Le dossier de secours du pool, tel que renvoyé par
pool.fallback_folder()
(s'il existe)
Paramètres
- include_fallback_folder: Indique si le dossier de pool de secours doit être inclus s'il existe.
- include_experiment_path: Indique si le dossier de l'expérience doit être inclus s'il existe.
Renvoie
- Une liste de tous les dossiers.
Exemple
print('Les dossiers suivants sont recherchés pour les fichiers :')
for dossier in pool.folders():
print(dossier)
in_folder(path)
Vérifie si le chemin est dans le dossier du pool. Ceci est différent de
la syntaxe path in pool
en ce sens qu'elle vérifie uniquement le dossier principal du pool,
et non pas le dossier de secours du pool et le dossier de l'expérience.
Paramètres
- path: Un nom de fichier de base à vérifier.
Renvoie
-
Exemple
print(pool.in_folder('cue.png'))
rename(old_path, new_path)
Renomme un fichier dans le dossier du pool.
Paramètres
- old_path: L'ancien nom du fichier.
- new_path: Le nouveau nom du fichier.
Exemple
pool.rename('my_old_img.png', 'my_new_img.png')
size(self)
Obtient la taille combinée en octets de tous les fichiers du pool de fichiers.
Renvoie
-
Exemple
print(f'La taille du pool de fichiers est de {pool.size()} octets')