Diferència entre revisions de la pàgina «ASIX-M3-UF3-A1.1-Gestió de fitxers i directoris»

De wikiserver
Dreceres ràpides: navegació, cerca
Línia 2: Línia 2:
 
1. Feu un programa que actuï de manera diferent segons si existeix o no una carpeta anomenada “Temp” en un directori concret. Si no existeix, l'ha d'intentar crear. Si existeix, l'ha d’esborrar. Cada cop que es realitza una acció, cal dir si s'ha pogut dur a terme i la ruta absoluta de la carpeta processada.
 
1. Feu un programa que actuï de manera diferent segons si existeix o no una carpeta anomenada “Temp” en un directori concret. Si no existeix, l'ha d'intentar crear. Si existeix, l'ha d’esborrar. Cada cop que es realitza una acció, cal dir si s'ha pogut dur a terme i la ruta absoluta de la carpeta processada.
  
<!--
+
<!-- -->
 
<source lang="python">
 
<source lang="python">
 
import os
 
import os
Línia 16: Línia 16:
 
   print("Directori %s creat!" %rutaAbsoluta)
 
   print("Directori %s creat!" %rutaAbsoluta)
 
</source>
 
</source>
-->
+
 
  
 
2. Genereu un programa que demani a l'usuari dues cadenes de text de tres lletres, de manera que les pugui escriure pel teclat en una mateixa línia, i un directori. El programa ha de cercar tots els fitxers en el directori que tinguin com a extensió la primera cadena de text i canviar-la a la segona. Per exemple, si l'usuari escriu “txt doc”, tots els fitxers amb extensió ”.txt” han de passar a tenir l'extensió ”.doc”.
 
2. Genereu un programa que demani a l'usuari dues cadenes de text de tres lletres, de manera que les pugui escriure pel teclat en una mateixa línia, i un directori. El programa ha de cercar tots els fitxers en el directori que tinguin com a extensió la primera cadena de text i canviar-la a la segona. Per exemple, si l'usuari escriu “txt doc”, tots els fitxers amb extensió ”.txt” han de passar a tenir l'extensió ”.doc”.
  
<!--
+
 
 
<source lang="python">
 
<source lang="python">
 
import os
 
import os
Línia 36: Línia 36:
 
     print("El directori %s no existeix!" %rutaAbsoluta)
 
     print("El directori %s no existeix!" %rutaAbsoluta)
 
</source>
 
</source>
-->
+
<!---->
  
 
3. Realitzeu un programa que, en executar-se, llegeixi des del teclat la ruta a una carpeta del vostre ordinador i una mida en Kb. Llavors, ha de mostrat per pantalla tots els fitxers (no les carpetes) amb una mida superior a la donada per l’usuari. (Recordeu que 1 Kb = 1024 bytes.) Si la carpeta no existeix, ha de mostrar un missatge d'error.
 
3. Realitzeu un programa que, en executar-se, llegeixi des del teclat la ruta a una carpeta del vostre ordinador i una mida en Kb. Llavors, ha de mostrat per pantalla tots els fitxers (no les carpetes) amb una mida superior a la donada per l’usuari. (Recordeu que 1 Kb = 1024 bytes.) Si la carpeta no existeix, ha de mostrar un missatge d'error.
Línia 45: Línia 45:
 
</source>
 
</source>
  
<!--
+
 
 
<source lang="python">
 
<source lang="python">
 
import os
 
import os
Línia 59: Línia 59:
 
     print("El directori %s no existeix!" %rutaAbsoluta)
 
     print("El directori %s no existeix!" %rutaAbsoluta)
 
</source>
 
</source>
-->
+
<!---->
  
 
4. Feu un programa que pregunti per pantalla el nom (o part del nom) d'un fitxer i la ruta a una carpeta. Aquestes dades les introduirà l'usuari pel teclat. Llavors el programa ha de cercar i mostrar per pantalla la ruta absoluta de tots els fitxers amb aquest nom a partir de la carpeta assenyalada (tant directament dintre seu com dins d'altres carpetes successives).
 
4. Feu un programa que pregunti per pantalla el nom (o part del nom) d'un fitxer i la ruta a una carpeta. Aquestes dades les introduirà l'usuari pel teclat. Llavors el programa ha de cercar i mostrar per pantalla la ruta absoluta de tots els fitxers amb aquest nom a partir de la carpeta assenyalada (tant directament dintre seu com dins d'altres carpetes successives).
  
<!--
+
 
 
<source lang="python">
 
<source lang="python">
 
import os
 
import os

Revisió del 17:09, 11 abr 2024

1. Feu un programa que actuï de manera diferent segons si existeix o no una carpeta anomenada “Temp” en un directori concret. Si no existeix, l'ha d'intentar crear. Si existeix, l'ha d’esborrar. Cada cop que es realitza una acció, cal dir si s'ha pogut dur a terme i la ruta absoluta de la carpeta processada.

import os

ruta=input("Ruta: ")
rutaAbsoluta = os.path.abspath(ruta)
print(rutaAbsoluta)
if os.path.exists(ruta):
   os.rmdir(ruta)
print("Directori %s eliminat!" %rutaAbsoluta)
else:
   os.mkdir(ruta)
   print("Directori %s creat!" %rutaAbsoluta)


2. Genereu un programa que demani a l'usuari dues cadenes de text de tres lletres, de manera que les pugui escriure pel teclat en una mateixa línia, i un directori. El programa ha de cercar tots els fitxers en el directori que tinguin com a extensió la primera cadena de text i canviar-la a la segona. Per exemple, si l'usuari escriu “txt doc”, tots els fitxers amb extensió ”.txt” han de passar a tenir l'extensió ”.doc”.


import os
extensions=input("Extensions fitxers: ")
extOrigen=extensions[0:3]
extDesti=extensions[4:7]
ruta=input("Directori: ")
rutaAbsoluta = os.path.abspath(ruta)
if os.path.exists(ruta):
  for fitxer in os.listdir(rutaAbsoluta):
    if fitxer.endswith('.'+extOrigen):
    os.rename(rutaAbsoluta+'/'+fitxer,rutaAbsoluta+'/'+fitxer[:-len(extOrigen)]+extDesti)
    print("Cambiada extensió fitxer:", fitxer)
else:
    print("El directori %s no existeix!" %rutaAbsoluta)

3. Realitzeu un programa que, en executar-se, llegeixi des del teclat la ruta a una carpeta del vostre ordinador i una mida en Kb. Llavors, ha de mostrat per pantalla tots els fitxers (no les carpetes) amb una mida superior a la donada per l’usuari. (Recordeu que 1 Kb = 1024 bytes.) Si la carpeta no existeix, ha de mostrar un missatge d'error.

>>> os.stat('uno.txt').st_size
2899


import os
BYTES = 1024
ruta=input("Directori: ")
rutaAbsoluta = os.path.abspath(ruta)
midaFitxer=int(input('Mida fitxer (kb): '))
if os.path.exists(ruta):
   for fitxer in os.listdir(rutaAbsoluta):
     if os.stat(rutaAbsoluta+'/'+fitxer).st_size > midaFitxer * BYTES:
        print(fitxer)
else:
     print("El directori %s no existeix!" %rutaAbsoluta)

4. Feu un programa que pregunti per pantalla el nom (o part del nom) d'un fitxer i la ruta a una carpeta. Aquestes dades les introduirà l'usuari pel teclat. Llavors el programa ha de cercar i mostrar per pantalla la ruta absoluta de tots els fitxers amb aquest nom a partir de la carpeta assenyalada (tant directament dintre seu com dins d'altres carpetes successives).


import os

def cercarFiles(directori,nomFitxer):
  for fitDir in os.listdir(directori):
     if os.path.isfile(directori+'/'+fitDir):
       if fitDir.find(nomFitxer) != -1:
         print('Fitxer: '+directori+'/'+fitDir)
     else:
       cercarFiles(directori+'/'+fitDir,"nomFitxer")

ruta=input("Directori: ")
rutaAbsoluta = os.path.abspath(ruta)
if os.path.exists(ruta):
   cercarFiles(rutaAbsoluta,"dos")
else:
print("El directori %s no existeix!" %rutaAbsoluta)