1 / 9

PATH DEL FILE

PATH DEL FILE. Bisogna fare molta attenzione al path del file da aprire. Per non sbagliare converrebbe passare sempre il path assoluto del file.

taffy
Télécharger la présentation

PATH DEL FILE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PATH DEL FILE • Bisogna fare molta attenzione al path del file da aprire. Per non sbagliare converrebbe passare sempre il path assoluto del file. • Se si passa invece solo il nome, senza il path completo bisogna essere sicuri che il file cercato si trovi nella directory corrente, da cui è lanciato il programma. Se ad esempio lanciamo il programma da un’altra directory (facendo cd .. ci spostiamo alla directory superiore) ecco che il comando di open fallisce non trovando il file nella directory corrente (/home/nicola/ Addirittura fallisce anche la richiesta di esecuzione del programma, che non viene trovato nella directory /home/nicola BIOINFO3 - Lezione 27

  2. TEST SUI FILE • In un programma Perl si possono fare direttamente dei semplici test sui file, ad esempio per verificarne l’esistenza o il tipo. Si può inserire il test in una istruzione if per aprire il file solo se questo esiste • -e filename • Vero se il file di nome ‘filename’ esiste • -d filename • Vero se il file di nome ‘filename’ è una directory • -z filename • Vero se il file di nome ‘filename’ è vuoto (dimensione 0) • -s filename • Restituisce la dimensione del file di nome ‘filename’ • -r filename • Vero se il file di nome ‘filename’ è leggibile • -w filename • Vero se il file di nome ‘filename’ è scrivibile BIOINFO3 - Lezione 27

  3. DIRECTORY • Le directory sono dei file che contengono nomi di file. In pratica possiamo pensarle come dei contenitori di file. Perl permette di aprire e leggere una directory in modo simile a quanto avviene per i file • opendir(HANDLE,nome-directory) • Apre la directory specificata, associandola ad un HANDLE • readdir (HANDLE) • Ogni volta che viene chiamata, questa funzione restituisce il nome del file successivo nella directory. Restituisce FALSO quando ha esaurito l’elenco dei file . .. prova.pl test.pl array.pl BIOINFO3 - Lezione 27

  4. DIRECTORY Esempio esecuzione PRIMO CICLO $d=<>=“frerfref\n” $d=“frerfref” -e $d = -e “frerfref” FALSO print “file inesistente” SECONDO CICLO $d=<>=“numeri\n” $d=“numeri” -e $d = -e “numeri” VERO -d $d = -d “numeri” FALSO print “non directory” Esempio. Stampare il nome dei file di una directory letta da input BIOINFO3 - Lezione 27

  5. DIRECTORY TERZO CICLO $d==<>=“bioinfo3\n” $d=“bioinfo3” -e $d = -e “bioinfo3” VERO -d $d = -d “bioinfo3” VERO print “la dir. contiene” Con la opendir D diventa una handle per la directory “bioinfo3”. Quindi si inizia a ciclare su tutti i file della directory Ad ogni ciclo $f riceve dalla funzione readdir il nome di un file della directory, che viene stampato. Notare che anche i file “.” e “..” sono ricevuti BIOINFO3 - Lezione 27

  6. OPERAZIONI SU FILE • Perl offre anche delle funzioni equivalenti ai comandi di sistema UNIX relativi alla gestione dei file (creazione e cancellazione di directory, cancellazione di file, ecc…) • chdir directory • cambia la directory corrente (come cd di UNIX) • rmdir directory • cancella la directory indicata • mkdir (directory,modo) • Crea una directory con il nome dato, modo sono i diritti (ad esempio 777) • rename (old,new) • Rinomina il file di nome old in uno di nome new (come mv diUNIX) • unlink lista • Cancella i file della lista (come rm di UNIX) BIOINFO3 - Lezione 27

  7. ESERCIZIO • Scrivere un programma Perl che: • Stampa a video la frase: “inserire il nome del file :” • Legge da tastiera il nome di un file • Se il file esiste: • lo apre e ne legge le righe ad una ad una, contandone il numero • stampa a video la frase: “il file nome-del-file contiene numero-righe righe\n” • Se il file non esiste: • stampa a video la frase: “il file nome-del-file non esiste\n” BIOINFO3 - Lezione 27

  8. SOLUZIONE ESERCIZIO BIOINFO3 - Lezione 27

  9. RIEPILOGO • Operazioni su file e directory BIOINFO3 - Lezione 27

More Related