mercredi, juillet 27, 2022
Internet

Comment résoudre l’erreur « Vérifier si le générateur est vide » en Python

Vous pouvez « Vérifier Python si le générateur est vide » en utilisant plusieurs méthodes et approches. Il dispose d’un ensemble d’objets et de fonctions de bibliothèque intégrés pour nous aider dans cette tâche. Dans ce tutoriel, nous allons apprendre à vérifier si un fichier ou un répertoire est vide en Python.

VOIR AUSSI: Comment fonctionne la méthode Python String format() ? 10 exemples

Qu’est-ce que « Python vérifie si le générateur est vide »

Python est un langage de script qui a rendu extrêmement facile la création de nouveaux langages de programmation. Python nous permet de développer de nombreux types de programmes différents, y compris des interpréteurs, des applications et des bibliothèques basés sur le bytecode. Fondamentalement, les générateurs Python sont le moyen le plus simple de créer des itérateurs.

Pourquoi « Python vérifie si le générateur est vide »

Lorsque nous voudrions vérifier si un chemin est vide ou non, nous voudrons savoir s’il s’agit d’un fichier ou d’un répertoire, car cela affecte l’approche que nous voulons utiliser. Disons que nous avons deux variables d’espace réservé dirpath et filepath identifiant un répertoire et un fichier locaux :

dirpath="/mnt/f/code.books/articles/python"
filepath="/mnt/f/code.books/articles/python/code/file_dir.py"

Solution 1 : Utiliser os.path

Python fournit le module os qui est un package Python standard de fonctions, d’objets et de constantes pour travailler avec le système d’exploitation.

os.path nous fournit les fonctions isfile() et isdir() pour distinguer sans effort entre un fichier et le répertoire donné :

import os

dirpath="/mnt/f/code.books/articles/python"
filepath="/mnt/f/code.books/articles/python/code/file_dir.py"

os.path.isfile(dirpath) # False
os.path.isdir(dirpath) # True
os.path.isfile(filepath) # True
os.path.isdir(filepath) # False

Les deux fonctions renvoient une valeur booléenne.

Solution 2 : Utiliser pathlib

Python 3.4 a introduit le pathlib module, qui fournit une interface orientée objet pour travailler avec les systèmes de fichiers.

pathlib simplifie le travail avec les systèmes de fichiers par rapport à os ou os.path.

La Path classe du pathlib module accepte un chemin comme argument et renvoie un Path objet, qui peut être facilement interrogé ou enchaîné avec des méthodes et des attributs :

from pathlib import Path

dirpath="/mnt/f/code.books/articles/python"
filepath="/mnt/f/code.books/articles/python/code/file_dir.py"

Path(dirpath).is_file() # False
Path(dirpath).is_dir() # True
Path(filepath).is_file() # True
Path(dirpath).is_file() # False

ci, nous vérifions si Paththe objet est un fichier ou un répertoire à la place.

Vérifier si un fichier est vide

Un fichier vide ou un fichier de zéro octet est un fichier qui ne contient ni données ni contenu. Le fichier peut être de n’importe quel type. Certains fichiers (tels que les fichiers musicaux) peuvent ne contenir aucune donnée, mais contenir tout de même des métadonnées (telles que l’auteur). Ces fichiers ne peuvent pas être considérés comme des fichiers vides.

Un fichier vide peut être créé rapidement sous Linux et macOS :

$ touch emptyfile

Ou sous Windows :

$ type nul > emptyfile

Définissons maintenant les variables – fichier vide et fichier non vide pointant vers un fichier vide de zéro octet et un fichier non vide d’une taille d’un octet :

emptyfile="/mnt/f/code.books/articles/python/emptyfile"
nonemptyfile="/mnt/f/code.books/articles/python/onebytefile"

Vous pouvez jeter un œil aux types et tailles de fichiers donnés :

$ ls -l -rwxrwxrwx 1 root root 0 Sep 10 18:06 emptyfile -rwxrwxrwx 1 root root 1 Sep 10 18:08 onebytefile $ file emptyfile emptyfile: empty $ file onebytefile onebytefile: very short file (no magic)

Leave a Response

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.