Pessal ontem na lista do Debian surgiu uma pequena duvida, retirar determinada extensão de arquivos encontrados num determinado diretório, enfim apareceram diversas soluções usando find, sed mas pensei numa solução um pouco mais amigavel usando python e dialog onde vc pode escolher as extensões e o diretorio a ser procurado, fiz o código ontem a noite quero melhorar ele e posto aqui tbm espero que possa ser util a alguem
#! /usr/bin/python
# -*- coding: iso-8859-1 -*-
# Criado em: "26/11/2009"
# Autor: MRSantos mrsantos@viaconnect.com.br
#
# A espera não é uma esperaça vazia,
# possui a certeza interior de alcançar seu objetivo...
import os
import os.path
import sys
import dialog
d = dialog.Dialog()
path_init = '/home/mrsantos/projetos/Script_python/src/txt/'
ext = [
('exe', 'Executavel', 0),
('jpg', 'Image JPG', 0),
('gif', 'Imagem GIF', 0),
('doc', 'Documento Word', 0),
('xls', 'Documento excel', 0),
('pdf', 'Documento PDF', 0),
('txt', 'Arquivo Texto', 0),
('bmp', 'Arquivo imagem', 0),
('mp3', 'Arquivo audio', 0),
('tar', 'Arquivo compactado audio', 0),
('php', 'Arquivo PHP ', 0),
]
def checklist(l):
return d.checklist("Escolha as extencoes", height=30, width=54, list_height=len(l), choices=l)
def get_dir():
code, value = d.fselect(path_init, height=10, width=40)
if code:
d.infobox('Abortado
')
print
sys.exit(1)
else:
if value: # escolhi um diretorio?
return value
else: # se eu nao passar diretorio ele pega corrente...
return os.getcwd()
def rename_file(ext):
path = get_dir()
msg = ''
for i in os.listdir(path):
f, e = os.path.splitext(i)
print e, f
if e.lower().strip('.') in ext:
os.rename(path+i, path+f)
msg += "renomeando de %s --> %s\n" % (i, f)
if msg != '':
d.scrollbox(msg)
else:
s = ''
for i in ext:
s += '%s ' % i
d.infobox("Extensoes nao encontradas: [ %s ]" % s)
def main():
code, value = checklist(ext)
print
if not code:
if value:
rename_file(value)
print
main()



abraços,
Marc