Isso torna o Python uma excelente linguagem para controlar coisas do dia-a-dia, substituindo o bash (linux), vbscript (windows), bat (dos) entre outros.
Mas sempre falta alguma coisa: a interface gráfica.
Imagine se você tivesse a força do bash e a facilidade de trabalhar com o sistema do vbscript? Bom, python tem.
A tk é um dos vários frameworks gráficos do python. É provavelmente o mais simples e o que vem instalado por padrão em todas instalações de python. Alguns exemplos de tarefas simples com a TK:
Insira este pedaço para poder usar a Tk. Este código inicializa uma janela principal da TK mas a recolhe. Fiz isso para que o nosso script não tenha uma janela constante e sim pergunte ao usuário as informações quando precisar, usando as caixas de seleção da TK:
import Tkinter root = Tkinter.Tk() root.withdraw()
Pedindo ao o usuário abrir um arquivo. Note que os formatos são configurados por pares de strings.
import tkFileDialog myFormats = [('JPEG / JFIF','*.jpg')] filename = tkFileDialog.askopenfilename(parent=root,title='Escolha um arquivo',filetypes=myFormats) if len(filename) >0: print "Abrindo arquivo ",filename
Pedindo ao usuário para escolher uma pasta. Aqui usamos os.getcwd() para começar na pasta onde o programa estiver rodando.
import tkFileDialog, os dirname = tkFileDialog.askdirectory(parent=root,initialdir=os.getcwd(),title='Escolha um diretorio') if len(dirname ) > 0: print "Abrindo diretorio ", dirname
Exibindo uma mensagem para o usuário:
import tkMessageBox tkMessageBox.showinfo(parent=root,title="Meu Programa" ,message="Pressione Enter para continuar.")
Finalizando, faremos um exemplo simples de um programa que pede um arquivo, lê ele, troca a palavra "blz" por "beleza" e salva onde você escolher. (exemplo inútil, mas já fiz isso pra consertar tabelas em HTML.
import os, sys, Tkinter, tkMessageBox, tkFileDialog #importa todos os modulos necessarios #solicitando o arquivo de entrada: myFormats = [('Text files','*.txt')] #define os tipos de arquivos filename = tkFileDialog.askopenfilename(parent=root,title='Escolha um arquivo de texto',filetypes=myFormats) if len(filename) >0: print "Abrindo arquivo ",filename else: sys.exit(0) #Termina o programa #solicitando o arquivo de saida: outfilename = tkFileDialog.asksaveasfilename(parent=root,filetypes=myFormats ,title="Guardar alteracoes em...") if len(outfilename ) > 0: print "Guardando alteracoes em ", outfilename else: sys.exit(0) #executando as trocas f=open(filename) #abrindo o arquivo lines=f.readlines() #lendo todas as linhas f.close() #fechando o arquivo pois jah armazenei as linhas outf=open(outfilename,'w') #abre o arquivo de saida para escrita for line in lines: #para cada linha lida line=line.replace("blz","beleza") #troca naquela linha as palavras que eu quero trocar outf.write(line) outf.close() tkMessageBox.showinfo(parent=root,title="Trocador de Linhas" ,message="Trocas efetuadas.")
Com isto podemos observar a Tk funcionando. Como escondemos o "root" (que era a janela principal), nosso programa será puramente linha de comando com algumas solicitações visuais. Para fazer um programa inteiro em Tk recomenda-se utilizar melhor o "root".
Bom, até a próxima.
Acabei de chegar ao seu site pois procurando um navegador de arquivos.
ResponderExcluirBom post muito util.
Só uma discordancia do seu post o tk não vem por padrão não tive que instalar na minha máquina para utilização, o restante foi exatamente como você mostrou... obrigado pelas dicas.