En aquest tema, aprendrem com gestionar fitxers i directoris utilitzant Python. Això inclou crear, eliminar, moure i renombrar fitxers i directoris, així com obtenir informació sobre ells. Utilitzarem el mòdul os
i el mòdul shutil
per dur a terme aquestes operacions.
Continguts
Introducció al mòdul os
El mòdul os
proporciona una manera de treballar amb el sistema operatiu. Aquest mòdul ens permet interactuar amb el sistema de fitxers i realitzar operacions com crear, eliminar i moure fitxers i directoris.
Exemple bàsic
import os # Obtenir el directori de treball actual current_directory = os.getcwd() print(f"Directori actual: {current_directory}") # Canviar el directori de treball os.chdir('/path/to/new/directory') print(f"Nou directori de treball: {os.getcwd()}")
Operacions bàsiques amb fitxers
Crear un fitxer
Eliminar un fitxer
import os if os.path.exists('nou_fitxer.txt'): os.remove('nou_fitxer.txt') print("Fitxer eliminat.") else: print("El fitxer no existeix.")
Renombrar un fitxer
Moure un fitxer
Operacions bàsiques amb directoris
Crear un directori
Eliminar un directori
Llistar contingut d'un directori
import os contingut = os.listdir('.') print("Contingut del directori actual:") for element in contingut: print(element)
Ús del mòdul shutil
El mòdul shutil
proporciona una interfície d'alt nivell per a operacions amb fitxers i directoris, com copiar i moure fitxers.
Copiar un fitxer
Moure un fitxer
import shutil shutil.move('fitxer_a_moure.txt', '/nou/cami/fitxer_a_moure.txt') print("Fitxer mogut.")
Eliminar un directori amb contingut
Exercicis pràctics
Exercici 1: Crear i eliminar un fitxer
- Escriu un programa que creï un fitxer anomenat
exercici1.txt
i escrigui "Hola, món!" en ell. - Després, elimina el fitxer.
# Solució with open('exercici1.txt', 'w') as file: file.write("Hola, món!") if os.path.exists('exercici1.txt'): os.remove('exercici1.txt') print("Fitxer eliminat.") else: print("El fitxer no existeix.")
Exercici 2: Crear i llistar un directori
- Escriu un programa que creï un directori anomenat
exercici2
. - Llista el contingut del directori actual per verificar que el nou directori ha estat creat.
# Solució import os os.mkdir('exercici2') contingut = os.listdir('.') print("Contingut del directori actual:") for element in contingut: print(element)
Exercici 3: Copiar i renombrar un fitxer
- Escriu un programa que copiï un fitxer existent anomenat
original.txt
a un nou fitxer anomenatcopia.txt
. - Renombra
copia.txt
arenombrat.txt
.
# Solució import shutil shutil.copy('original.txt', 'copia.txt') os.rename('copia.txt', 'renombrat.txt') print("Fitxer copiat i renombrat.")
Conclusió
En aquesta secció, hem après com gestionar fitxers i directoris utilitzant Python. Hem vist com crear, eliminar, moure i renombrar fitxers i directoris, així com obtenir informació sobre ells. També hem explorat el mòdul shutil
per a operacions d'alt nivell. Aquestes habilitats són essencials per a qualsevol programador que treballi amb sistemes de fitxers.
Curs de Programació en Python
Mòdul 1: Introducció a Python
- Introducció a Python
- Configuració de l'Entorn de Desenvolupament
- Sintaxi de Python i Tipus de Dades Bàsics
- Variables i Constants
- Entrada i Sortida Bàsiques
Mòdul 2: Estructures de Control
Mòdul 3: Funcions i Mòduls
- Definició de Funcions
- Arguments de Funció
- Funcions Lambda
- Mòduls i Paquets
- Visió General de la Biblioteca Estàndard
Mòdul 4: Estructures de Dades
Mòdul 5: Programació Orientada a Objectes
Mòdul 6: Gestió de Fitxers
- Lectura i Escriptura de Fitxers
- Treballant amb Fitxers CSV
- Gestió de Dades JSON
- Operacions amb Fitxers i Directoris
Mòdul 7: Gestió d'Errors i Excepcions
Mòdul 8: Temes Avançats
- Decoradors
- Generadors
- Gestors de Context
- Concurrència: Fils i Processos
- Asyncio per a Programació Asíncrona
Mòdul 9: Proves i Depuració
- Introducció a les Proves
- Proves Unitàries amb unittest
- Desenvolupament Guiat per Proves
- Tècniques de Depuració
- Ús de pdb per a la Depuració
Mòdul 10: Desenvolupament Web amb Python
- Introducció al Desenvolupament Web
- Conceptes Bàsics del Framework Flask
- Construcció d'APIs REST amb Flask
- Introducció a Django
- Construcció d'Aplicacions Web amb Django
Mòdul 11: Ciència de Dades amb Python
- Introducció a la Ciència de Dades
- NumPy per al Càlcul Numèric
- Pandas per a la Manipulació de Dades
- Matplotlib per a la Visualització de Dades
- Introducció al Machine Learning amb scikit-learn