Just Do It - XML Generic Editor
Publicado por Denis Doria 12/06/2008
[ Hits: 4.402 ]
Gera arquivos xml a partir de dois arquivos:
xmlfile:
<campo1="coluna1" campo2="coluna3"> <campo1="coluna2"campo2="coluna9">
inputfile:
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
Output:
<campo1="2" campo2="4">
<campo1="3"campo2="10">
<campo1="12" campo2="14">
<campo1="13"campo2="20">
Atualmente o script só trabalha com 10 colunas, ou seja, da coluna0 até coluna9. Se for omitido o arquivo de saida o output é feito na tela.
#!/usr/bin/python ########################################### #JUST DO IT - Python Version 0.02 # #XML Generic Editor... # #:-& #Autor: Denis Doria # ########################################### ########################################### #xmlfile # #<campo1="coluna1" campo2="coluna3"> #<campo1"coluna2"campo2="coluna9"> # ########################################### #inputfile # #1 2 3 4 5 6 7 8 9 10 #11 12 13 14 15 16 17 18 19 20 # ########################################### #Output # #<campo1="2" campo2="4"> #<campo1"3"campo2="10"> #<campo1="12" campo2="14"> #<campo1"13"campo2="20"> # ########################################### ########################################### #Changelog # # v0.01 - Cricao do software # - Le um xml generico e uma entrada gerando um xml especifico # # v0.02 - Elimina linhas em branco no arquivo de entrada # - Verificacao da permissao de escrita para o outputfile # - Criacao da ajuda # - Elimina linhas em branco no XML # - Criado opcao de imprimir na tela ou inserir em um arquivo # ########################################### import sys #Verificacao dos argumentos da linha de comando if len(sys.argv) < 2: print "JDI - Generic Xml Editor\n" print "jdi <arquivo xml> <arquivo de entrada> [arquivo de saida]\n" sys.exit(1) #Verificacao dos arquivos necessarios try: xmlfile = open(sys.argv[1],'r') except IOError: print "XML File not found!!!" sys.exit(1) try: inputfile = open(sys.argv[2],'r') except IOError: print "Input File not found!!!" sys.exit(1) out=0 if len(sys.argv)==4: try: outputfile = open(sys.argv[3],'w') out=1 except IOError: print "Permission denied!!!" sys.exit(1) #Elimina as linhas em branco do arquivo XML xmltmp = xmlfile.readlines() xmltmp.sort() xmltmp.reverse() xmlback = xmltmp[:xmltmp.index('\n')] xmllen = len(xmlback) input = inputfile.readlines() for i in range(len(input)): #Elimina o caracter de 'nova linha' newline = input[i].replace('\n','') if newline == '': continue #Cria uma lista com os valores de cada coluna rowinput = newline.split(' ') for j in range(xmllen): xml = [] #Coloca o xml nesta lista xml.extend(xmlback) #Para cada coluna tenta substituir o valor do input no xml for w in range(len(rowinput)): row = 'coluna'+str(w) xml[j] = xml[j].replace(row,rowinput[w]) if out == 0: print '%s' % (xml[j].replace('\n','')) else: outputfile.write(xml[j]) if out == 1: outputfile.flush() outputfile.close() inputfile.close() xmlfile.close()
Jogo de adivinhar o número aleatório
Algoritmo de Dijkstra em Python com visualização em PyGraphviz
Versão das principais distribuições.
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta