Je voudrais vérifier s'il y a des fichiers .rar dans un répertoire. Il n'a pas besoin d'être récursif.
L'utilisation de caractères génériques avec os.path.isfile() était ma meilleure hypothèse, mais cela ne fonctionne pas. Que puis-je faire alors ?
Je voudrais vérifier s'il y a des fichiers .rar dans un répertoire. Il n'a pas besoin d'être récursif.
L'utilisation de caractères génériques avec os.path.isfile() était ma meilleure hypothèse, mais cela ne fonctionne pas. Que puis-je faire alors ?
glob est ce dont vous avez besoin.
>>> import glob
>>> glob.glob('*.rar') # all rar files within the directory, in this case the current working one
os.path.isfile()
renvoie True
si un chemin est un fichier normal existant. Cela est donc utilisé pour vérifier si un fichier existe déjà et ne prend pas en charge les caractères génériques. glob
fait.
Les caractères génériques sont développés par le shell et vous ne pouvez donc pas les utiliser avec os.path.isfile()
Si vous souhaitez utiliser des caractères génériques, vous pouvez utiliser popen with shell = True
ou os.system()
>>> import os
>>> os.system('ls')
aliases.sh
default_bashprofile networkhelpers projecthelper.old pythonhelpers virtualenvwrapper_bashrc
0
>>> os.system('ls *.old')
projecthelper.old
0
Vous pouvez également obtenir le même effet avec le module glob.
>>> import glob
>>> glob.glob('*.old')
['projecthelper.old']
>>>
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.