sabato 27 ottobre 2007

Contiamo quante righe abbiamo scritto

Sapete..sono passato a Linux quasi per caso..su consiglio di mio cugino.
Mi sono trovato un sistema potente ma un pò complesso per me (agli inizi credo per tutti!).
Ho dovuto imparare a mettere mano ai files di configurazione, a creare piccoli script e piano a piano mi sono appasionato alla programmazione.
Non faccio grandi programmi sia chiaro (guardate la rubrica "I Software di TuxPress" per capire :-D) ma ogni tanto mi ritrovo a pensare:

Quante righe di codici sorgenti avrò scritto?

Ho provato a fare una stima, a fare un breve calcolo e poi mi sono detto:

Fare uno script che possa contare al posto mio no vero?

Ed eccomi qui a presentarvi un mio piccolo script utile a tutti i programmatori (ma anche a chi scrive per altri motivi!) che prende tutti i files leggibili nella cartella in cui viene eseguito (esclude cartelle, files non di testo etc) e vi dice quanti files sono stati aperti e quante righe sono state contate in totale!

E' scritto in Python dunque tutte le distro possono usarlo!

Eccovi lo script:

#!/usr/bin/python

import os

def contarighe(f):
righe = 0
a = open(f, "r")
b = a.readlines()
a.close()
for linea in b:
righe += 1
return righe


def main():
print "\npyCONTARIGHE\n"
righetot = 0
filec = 0
files = os.listdir(os.getcwd())
for linea in files:
try:
a = open(linea, "r")
righetot = righetot + int(contarighe(linea))
filec += 1
except IOError:
print "File " + str(linea) + " illeggibile: passo oltre"
print "\nLetti un totale di " + str(filec) + " files per un totale di " + str(righetot) + " righe totali."

if __name__ == "__main__":
main()

(potete scaricarlo qui - file .zip!)

Bene adesso potete usarlo semplicemente dando il comando:

python contarighe.py

All'interno della directory desiderata: ad esempio quella dei sorgenti di un determinato progetto!
Se volete rendere più pratico il suo funzionamento potete eseguire questi 3 piccoli passaggi per rendere lo script richiamabile (che termine...) in tutte le cartelle:

cp contarighe.py contarighe
sudo chmod +x contarighe
sudo mv contarighe /usr/bin/

In questo modo in qualsiasi cartella in cui siate con la vostra shell potete eseguire il comando "contarighe"!!

Spero possa essere utile a qualcuno..

Ciao a tutti!

2 commenti:

Anonimo ha detto...

Ciao,
compliementi per l'inventiva... cmq anche un seplice "wc -l *.*" ti da lo stesso risultato :)

balloto ha detto...

Davvero XD XD

Ahahaha grazie di avermelo fatto notare!

Dai almeno può essere utile se qualcuno vuole imparare Python!

Ciao e grazie mille del commento e della dritta ;-)

Ciaoo!