ASIX-M3-UF3-A1

De wikiserver
Dreceres ràpides: navegació, cerca

Gestió d'arxius i directoris en Python

Els fitxers permeten emmagatzemar dades en memòria permanent. Des de Python podem llegir i escriure fitxers amb algunes instruccions particulars.

[1]

[2]

[3]

Els mòduls "os" i "shutil" permeten realitzar tasques com caviar de directori, crear i eliminar carpetes o arxius,...

Veiem com:

  • Canvi de directori
>>> # Importem "os"
... import os
>>> # Directori actual
... os.getcwd()
'/home/ramon/PythonProjects'
>>> # Canvi de directori
>>> os.chdir('/home/ramon/Base de dades')
>>> # Directori actual
... os.getcwd()
'/home/ramon/Base de dades'
  • Comprovar l'existència d'un directori
>>> # Importem "os"
... import os
>>> # Comprovar existència d'un directori
... if os.path.exists('/home/ramon/PythonProjects'):
...    print("El directori existeix!")
... else:
...    print("El directori no existeix!")
... 
El directori existeix!
  • Obtenir llista de subdirectoris i arxius d'un directori
>>> # Importem "os"
... import os
>>> # Llistat de subdirectoris i arxius
... # Directori actual
... print(os.listdir())
['investigaciones', 'empresa.odb', 'consultar-alumnos.odb', 'Notes.odb']
>>> # Indicant el directori
... print(os.listdir('/home/ramon/PythonProjects'))
['Treballadors.py', 'grafics_1.py', 'Activitat_11.py', 'Calculadora.py', 'prova.py']
  • Creació de directoris
>>> # Importem "os"
... import os
>>> # Directori actual
... os.getcwd()
'/home/ramon/Base de dades'
>>> # Creació de tres subdirectoris imbricats a partir del directori actual
... os.makedirs("grups/asix/primer")
>>> # Comprovem l'existència dels subdirectoris
... os.path.exists("/home/ramon/Base de dades/grups/asix/primer")
True
  • Eliminar directoris buits
>>> # Importem "os"
... import os
>>> # Eliminem el subdirectori 'asix'
... os.rmdir("/home/ramon/Base de dades/grups/asix")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 39] Directory not empty: '/home/ramon/Base de dades/grups/asix'
>>> # Eliminem el subdirectori 'primer'
... os.rmdir("/home/ramon/Base de dades/grups/asix/primer")
>>> # Comprovem que s'ha eliminat
... os.path.exists("/home/ramon/Base de dades/grups/asix/primer")
False
  • Eliminar directoris i tot el seu contingut
>>> # Importem "shutil"
... import shutil
>>> # Eliminem el subdirectori 'grups'
... shutil.rmtree("/home/ramon/Base de dades/grups")
>>> # Comprovem que s'ha eliminat
... os.path.exists("/home/ramon/Base de dades/grups")
False
  • Crear, escriure i tancar un arxiu
>>> # Creem l'arxiu per escriure. "r" si el que volem és llegir-lo
... arxiu = open("nou_arxiu.txt","w")
>>> # Escrivim en l'arxiu
... arxiu.write("Hello world!")
12
>>> # Tanquem l'arxiu
... arxiu.close()