Difference between revisions of "Prova pratica 2014.07.17"
(Created page with "---- Il comando che dovrete implementare come script shell o programma python e' mytx. Tale comando elenca tutti i file di una directory. mytx ddd ddd.tx Ogni riga del file di...") |
|||
Line 1: | Line 1: | ||
− | + | ==Testo== | |
Il comando che dovrete implementare come script shell o programma python e' mytx. | Il comando che dovrete implementare come script shell o programma python e' mytx. | ||
Tale comando elenca tutti i file di una directory. | Tale comando elenca tutti i file di una directory. | ||
Line 10: | Line 10: | ||
12 file1 | 12 file1 | ||
235 file di prova | 235 file di prova | ||
− | + | ||
+ | ==Soluzione di Krusty== | ||
import os, sys | import os, sys | ||
from stat import * | from stat import * |
Revision as of 14:55, 12 April 2015
Testo
Il comando che dovrete implementare come script shell o programma python e' mytx. Tale comando elenca tutti i file di una directory. mytx ddd ddd.tx Ogni riga del file di output (secondo parametro) deve contenere la lunghezza, uno spazio e il nume del file. Dopo l'ultima riga deve inserire una riga bianca. ddd.t2 deve contenere l'elenco dei file regolari. Il primo campo e' un numero intero seguito da uno spazio, tutto cio' che segue fino alla fine riga e' il nome del file. es. 12 file1 235 file di prova
Soluzione di Krusty
import os, sys from stat import *
out_file = open(sys.argv[2],"w")
for f in os.listdir(sys.argv[1]): #scorre file nella directory path = os.path.join(sys.argv[1],f) #unisce nome e percorso s = os.stat(path) if S_ISREG(s.st_mode): info = str(os.path.getsize(path)) + ' ' + f #scrive dimensione e nome file in info out_file.write(info + "\n")
out_file.write("\n") out_file.close()