Vérifier si un fichier est vide en Python #
Pour vérifier si un fichier est vide :
- Utilisez la fonction
os.stat()
pour obtenir l’état du fichier. - Utilisez la méthode
st_size
pour obtenir la taille du fichier en octets. - Si la taille du fichier est
0
octets, alors le fichier est vide.
import os
if os.stat('example.txt').st_size == 0:
print('The file is empty')
else:
print('The file is not empty')
if os.stat('/home/borislav/Desktop/bobbyhadz_python/example.txt').st_size == 0:
print('The file is empty')
else:
print('The file is not empty')
Nous avons utilisé le os.stat()
pour obtenir l’état d’un fichier.
On peut passer à la méthode un chemin relatif ou un chemin absolu vers le fichier.
La méthode os.stat renvoie
a stat_result
représentant l’état du fichier donné.
L’attribut st_size
de l’objet renvoie la taille du fichier en octets.
import os
if os.stat('example.txt').st_size == 0:
print('The file is empty')
else:
print('The file is not empty')
Si la taille du fichier est 0
octets, alors le fichier est vide.
Vous pouvez utiliser la fonction not equals !=
si vous avez besoin de vérifier si le fichier n’est pas
vide.
import os
if os.stat('example.txt').st_size != 0:
print('The file is NOT empty')
La méthode lèvera un FileNotFoundError
exception si le fichier spécifié
spécifié n’existe pas.
Vous pouvez utiliser un try/except
si vous devez gérer l’erreur.
import os
try:
if os.stat('not-found.txt').st_size == 0:
print('The file is empty')
except FileNotFoundError:
print('The specified file does NOT exist')
Le fichier spécifié n’existe pas. FileNotFoundError
exception est levée
et est ensuite gérée par la fonction except
bloc.
Vous pouvez également utiliser l’option os.path.getsize()
méthode.
Vérifier si un fichier est vide en utilisant os.path.getsize() #
Utiliser le os.path.getsize()
pour vérifier si un fichier est vide, par ex.
if os.path.getsize('example.txt') == 0:
. Si le os.path.getsize()
méthode
renvoie 0
alors le fichier a une taille de 0
octets et est vide.
import os
if os.path.getsize('example.txt') == 0:
print('The file is empty')
else:
print('The file is NOT empty')
if os.path.getsize(
'/home/borislav/Desktop/bobbyhadz_python/example.txt'
) == 0:
print('The file is empty')
else:
print('The file is NOT empty')
Le site
os.path.getsize
prend un chemin et renvoie la taille du chemin en octets.
Si le fichier a une taille de 0
octets, alors il est vide.
La méthode soulève un OSError
exception si le fichier spécifié n’existe pas ou est inaccessible.
Utilisez un try/except
si vous devez traiter l’erreur.
import os
try:
if os.path.getsize('not-found.txt') == 0:
print('The file is empty')
except OSError:
print('The specified file does NOT exist')
Le chemin d’accès donné n’existe pas. OSError
exception est levée et est ensuite
traitée par le except
bloc.
Alternativement, vous pouvez vérifier si le fichier existe en utilisant la commande os.path.exists()
méthode.
import os
my_path = '/home/borislav/Desktop/bobbyhadz_python/example.txt'
if os.path.exists(my_path) and os.path.getsize(my_path) == 0:
print('The file is empty')
else:
print('The file does NOT exist or is not empty')
Le site os.path.exists()
retourne la méthode True
si le chemin fourni existe et False
sinon.
Alternativement, vous pouvez utiliser l’option pathlib.Path
classe.
Vérifier si un fichier est vide en utilisant pathlib.path() #
Pour vérifier si un fichier est vide :
- Instanciez l’objet
pathlib.Path()
pour créer un objet Path. - Utilisez la classe
stat()
pour obtenir unstat_result
objet. - Utilisez le
st_size
pour obtenir la taille du fichier. - Si la taille du fichier est
0
octets, alors il est vide.
import pathlib
my_path = pathlib.Path('/home/borislav/Desktop/bobbyhadz_python/example.txt')
if my_path.stat().st_size == 0:
print('The file is empty')
else:
print('The file is NOT empty')
La classe pathlib.Path
est utilisée pour créer un fichier PosixPath
ou un WindowsPath
objet en fonction de votre
votre système d’exploitation.
Le site
Path.stat
renvoie un stat_result
comme celui de la méthode os.stat()
méthode.
L’objet a un st_size
qui renvoie la taille du fichier en octets.
Si le chemin d’accès spécifié n’existe pas, un message de type FileNotFoundError
est levée.
Vous pouvez utiliser un try/except
si vous devez gérer l’erreur.
import pathlib
my_path = pathlib.Path(
'/home/borislav/Desktop/bobbyhadz_python/example.txt')
try:
if my_path.stat().st_size == 0:
print('The file is empty')
else:
print('The file is NOT empty')
except FileNotFoundError:
print('The file does NOT exist')
L’approche que vous choisissez est une question de préférence personnelle. Elles obtiennent toutes la
la taille du fichier.
Si le fichier a une taille de 0
octets, alors il est vide, sinon, il n’est pas vide.