[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: convertire in minuscolo



Il mar, 2002-11-19 alle 20:47, Umberto Genovese ha scritto:
> Salve a Tutti
> ho un problema a creare uno script per convertire in minuscolo i nomi dei
> files:
> vorrei che:
> 1- lasci inalterato il nome delle directory se queste siano miste (Foo, BAr,
> Pippo)
> 2- discenda le sottodirectory (che sono qualche decina, acune nidificate)

si puo` fare in molti modi e ti arrivera` di tutto, perl, bash, etc. io
amo particolarmente il python:

#!/usr/bin/python

import sys
from os import rename, listdir
from os.path import join, isdir

def smanazza(path):
    "Si smanazza la directory in PATH convetendo i soli files in lowercase."""
    for f in listdir(path):
        f = join(path, f)
        if isdir(f):
            smanazza(f)
        else:
            rename(f, f.lowercase())

# e qui ci smazziamo tutti i file passati sulla linea di comando
for arg in sys.argv[1:]:
    smanazza(arg)

faccio notare che si puo` farlo in 1 solo passo con la bash ed usando
find, xargs, mv e tr, pero` volevo mandare un po' di python in lista :)

--
Federico Di Gregorio
Debian GNU/Linux Developer & Italian Press Contact        fog@debian.org
INIT.D Developer                                           fog@initd.org
                           Don't dream it. Be it. -- Dr. Frank'n'further

Attachment: signature.asc
Description: PGP signature


Reply to: