Sufixo para o nome de arquivos

60 views
Skip to first unread message

Geislor Crestani

unread,
Dec 17, 2014, 1:48:35 PM12/17/14
to python...@googlegroups.com
Olá pessoal, 

Preciso criar um método que na hora de salvar um arquivo verifica se já existe algum arquivo com o mesmo nome no diretório (até aí tudo bem).

Se já existir ele adiciona um número informando a "versão" do arquivo, ex:

- Já existe um arquivo chamado texte.txt no diretório, então ele mudaria o nome do novo arquivo para teste(1).txt.

- Se já existir um teste(1).txt ele iria criar um teste(2).txt e assim por diante...

Fiz alguns testes procurando a substring (XXX) no nome do arquivo, mas não me parece a melhor forma de fazer isso, se alguém tiver qualquer ideia agradeço.

[]'s

Victor Augusto Furtado Leite

unread,
Dec 17, 2014, 3:26:31 PM12/17/14
to python...@googlegroups.com
Você pode verificar se o arquivo existe com

import os.path
os.path.exists(arquivo)

Se já existir adiciona o seu sufixo e verifica de novo com exists() mas agora com o novo nome e assim por diante (coloca num loop pra ir alterando seu sufixo e verificando se o arquivo existe)...

[]'s



--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.


--
Victor Augusto Furtado Leite

rcovre

unread,
Dec 18, 2014, 7:00:41 AM12/18/14
to python...@googlegroups.com
Olá, 

você pode user o módulo glob[1]. Com ele você pode gerar uma lista com o nome de todos os arquivos que comecem com o sufixo 'teste', por exemplo. Com essa lista em mãos, você vai saber qual é a última versão do arquivo dependendo do tamanho dela. Lembrando que o glob pega nomes de arquivos e diretórios que comecem com o padrão em questão, então você vai ter que ver se cabe para o seu problema. 
Você também pode verificar qual arquivo é o mais recente, por exemplo, como nessa pergunta do StackOverflow[2].

[]'s

Reply all
Reply to author
Forward
0 new messages