si...ovviamente la lunghezza e' spropositata(la condizione os.path.isfile/isdir si puo' mettere in una sola funzione), e lo "migliorero' dopo....pero' intanto vorrei farlo funzionare
ecco la classe:
codice:
import os
import sys
class find:
"""programma da riga di comando che permette di cercare un file o una directory all'interno del percorso specificato."""
def __init__(self):
list = []
try:
list.append(sys.argv[1])
list.append(sys.argv[2])
if sys.argv[1] == "-?":
self.help()
elif sys.argv[1] == "-help":
self.help()
else:
self.search()
except IndexError:
self.help()
def help(self):
print
print
print "programma da riga di comando che permette di cercare un file o una directory all'interno del percorso specificato."
print
print "USO:"
print "cerca <nome_file( directory )_da cercare> <percorso_in_cui_cercare>"
print "cerca -?, questa guida."
print "cerca -help, questa guida"
def search(self):
print
for root, dirs, files in os.walk(sys.argv[2]):
for filename in files:
if filename:
if sys.argv[1] in filename:
if os.path.isfile(filename):
abspath = os.path.join(root, filename)
print
print "%s, %s, FILE" %(abspath, os.path.abspath(filename))
print
self.searchdir()
def searchdir(self):
for root, dirs, files in os.walk(sys.argv[2]):
for dirname in dirs:
if dirname:
if sys.argv[1] in dirname:
if os.path.isdir(dirname):
abspath = os.path.join(root, dirname)
print
print "%s, %s, DIRECTORY" %(abspath, os.path.abspath(dirname))
print
else:
print
print "ricerca completata. Non e' stata individuata nessuna voce corrispondente."
print
ora tocca a te korn
bye