Guest --Jaime -- Postado Julho 4, 2008 Denunciar Share Postado Julho 4, 2008 Tenho o seguinte problema Varios arquivos.jpg da empresa mis de 200 pastasex: 0001.jpg 0000235.jpE preciso criar um padrãoIncluir um 9 na frente ex90001.jpgai criei esse script//Acrescenta 9import osfor nome in os.listdir('.'): novo_nome = '9' + nome os.rename(nome, novo_nome)print 'OK'Mas na hora de ordenar os zeros a esquerda não estou conseguindo Gostaria de uma ajuda, pois não conheço bem a sintaxeimport os,string,zfilli=nomefor nome in os.listdir('.'):file = zfill(str(i), 7)os.rename (nome,file)print 'ok'Grato Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kakao Postado Julho 4, 2008 Denunciar Share Postado Julho 4, 2008 Não testei:zeros = '0000000' for nome in os.listdir('.'): novo_nome = '9' + zeros[0: 7 - len(nome)] + nome os.rename(nome, novo_nome) print 'OK' Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Jaime -- Postado Julho 4, 2008 Denunciar Share Postado Julho 4, 2008 Então Kako Aqui ele so acrescentou o nove. Vou te explicar melhor meu problema, acho que me expressei mal. Para o meu problema eu pensei em fazer dois scripts, um para acrescentar o 9 que está okimport osfor nome in os.listdir('.'): novo_nome = '9' + nome os.rename(nome, novo_nome)print 'OK' E um outro para criar um padrão nos arquivos deixar todos os .jpg com 15 caracteres Andei pesquisando e vi que existe esse metodo .zfill() que faz isso ele le os carcteres e completa com zeros a esquerda Acredito que seja erro de sintaxe oi que eu esteja fazendo ou não declarando a variavel corretamente. Se você tiver uma outra solução também agradeço : Jaime Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Jaime -- Postado Julho 4, 2008 Denunciar Share Postado Julho 4, 2008 Ai galera caso alguém precise o metodo zfill() funciona legal e consegui resolver o problema aqui na empresaimport os, stringfor nome in os.listdir('.'): i = nome.zfill(19) os.rename(nome, i)print 'OK' ele renomeia o arquivo incluindo zeros a esquerda com intuito depadronizar arquivos ex: -> 0021.jpgficou assim: 000000000000021.jpg 15 digitos do lado esquerdoValeu estou pegando gosto pelo Phyton a linguagem possui soluções rapidas e eficientes. Jaime Programador Java Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest --Jaime --
Tenho o seguinte problema
Varios arquivos.jpg da empresa mis de 200 pastas
ex: 0001.jpg 0000235.jp
E preciso criar um padrão
Incluir um 9 na frente ex90001.jpg
ai criei esse script
//Acrescenta 9
import os
for nome in os.listdir('.'):
novo_nome = '9' + nome
os.rename(nome, novo_nome)
print 'OK'
Mas na hora de ordenar os zeros a esquerda não estou conseguindo
Gostaria de uma ajuda, pois não conheço bem a sintaxe
import os,string,zfill
i=nome
for nome in os.listdir('.'):
file = zfill(str(i), 7)
os.rename (nome,file)
print 'ok'
Grato
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.