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.txti 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.txta un nou fitxer anomenatcopia.txt. - Renombra
copia.txtarenombrat.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
