python:filesystem

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
python:filesystem [2019/02/25 12:44] – créée phswpython:filesystem [2024/03/27 10:23] (Version actuelle) – add how to create temporary file phsw
Ligne 1: Ligne 1:
-====== Manipulation du système de fichiers ======+====== Manipulation du système de fichiers avec Python ======
  
-==== Concaténer des chemins ====+==== Manipulation sur les chemins ==== 
 + 
 +=== Concaténer des chemins ===
  
 <code python> <code python>
Ligne 10: Ligne 12:
  
  
--------+=== Obtenir le chemin du dossier d'un fichier === 
 +<code python> 
 +import os
  
-==== Vérifier si un dossier existe ====+filepath = "/a/b/c.txt" 
 +os.path.dirname(filepath) # "/a/b" 
 +</code> 
 + 
 + 
 +=== Obtenir le dossier courant === 
 + 
 +Le dossier d’exécution du script: 
 +<code python> 
 +import os 
 + 
 +os.getcwd() 
 +</code> 
 + 
 + 
 +=== Obtenir le chemin absolu === 
 + 
 +<code python> 
 +import os 
 +os.path.abspath("mydir/myfile.txt"
 +</code> 
 + 
 + 
 +Le dossier du script qui s'exécute: 
 +<code python> 
 +import os 
 +os.path.dirname(os.path.abspath(__file__)) 
 +</code> 
 + 
 + 
 + 
 + 
 + 
 +==== Vérifier si un dossier ou fichier existe ==== 
 + 
 +[[https://stackoverflow.com/questions/82831/how-do-i-check-whether-a-file-exists-without-exceptions|Source]]
  
 <code python> <code python>
Ligne 20: Ligne 59:
 # ou # ou
 os.path.exists(folder) os.path.exists(folder)
 +# ou pour les fichiers :
 +os.path.isfile(filename)
 </code> </code>
  
  
--------+
  
 ==== Créer un dossier ==== ==== Créer un dossier ====
Ligne 34: Ligne 75:
  
  
---------+
  
 ==== Lister les fichiers d'un dossier ==== ==== Lister les fichiers d'un dossier ====
Ligne 46: Ligne 87:
 onlyfiles = [os.path.join(mypath, f) for f in os.listdir(mypath) if os.path.isfile(os.path.join(mypath, f))] onlyfiles = [os.path.join(mypath, f) for f in os.listdir(mypath) if os.path.isfile(os.path.join(mypath, f))]
 </code> </code>
 +
 +=== Récursivement dans les sous-dossiers ===
 +
 +[[https://docs.python.org/fr/3.6/library/glob.html]]
 +
 +<code python>
 +import glob
 +
 +print(glob.glob('**/*', recursive=True))
 +</code>
 +
  
  
--------- 
  
 ==== Copier un dossier et son contenu ==== ==== Copier un dossier et son contenu ====
Ligne 58: Ligne 109:
  
  
-------+
  
 ==== Supprimer un dossier et son contenu ==== ==== Supprimer un dossier et son contenu ====
Ligne 69: Ligne 120:
  
  
-------+
  
 ==== Supprimer un fichier ==== ==== Supprimer un fichier ====
Ligne 78: Ligne 129:
 os.remove(filepath) os.remove(filepath)
 </code> </code>
 +
 +
 +
 +
 +==== Enlever l'extension d'un nom de fichier ====
 +
 +[[https://stackoverflow.com/questions/678236/how-to-get-the-filename-without-the-extension-from-a-path-in-python?rq=1|Source]]
 +
 +<code python>
 +import os
 +print(os.path.splitext("/path/to/some/file.txt")[0])
 +</code>
 +
 +
 +==== Fichiers temporaires ====
 +
 +Utilise l'objet ''NamedTemporaryFile'' du module ''tempfile'' ([[https://stackoverflow.com/questions/44381249/treat-a-string-as-a-file-in-python|source]]) :
 +<code python>
 +from tempfile import NamedTemporaryFile
 +
 +f = NamedTemporaryFile(mode="w", delete=False)
 +f.write("Toto")
 +f.close()
 +print(f"Written in {f.name})
 +</code>
 +
  • python/filesystem.1551095068.txt.gz
  • Dernière modification : 2021/04/04 17:01
  • (modification externe)