2011-08-29 2 views

ответ

2

Что-то вроде

import os.path 

def getnewfilename(filename): 
    testfile = filename 
    i = 0 
    while os.path.exists(testfile): 
     i += 1 
     testfile = "%s_%s" % (testfile, i) 

    return testfile 

Это должно генерировать

filename 
filename_1 
filename_2 

если вы используете% s_% 3i»вы должны получить

filename 
filename_001 
filename_002 
filename_003 

, который затем список в алфавитном порядке (но имеют проблемы при i> = 1000)

2

Вы можете использовать os.path.exists, чтобы проверить, существует ли файл. Остальное - это простой цикл, который пытается использовать новые имена файлов.

0

isfile проверяет наличие файла и спускает симлинки; вы можете использовать полный путь к файлу.

if os.path.isfile(filename): 
    do_something() 
Смежные вопросы