Revision: 33387
Updated Code
at October 8, 2010 09:16 by skirmantas
Updated Code
import itertools import os import re def unique_file_name(file): ''' Append a counter to the end of file name if such file allready exist.''' if not os.path.isfile(file): # do nothing if such file doesn exists return file # test if file has extension: if re.match('.+\.[a-zA-Z0-9]+$', os.path.basename(file)): # yes: append counter before file extension. name_func = \ lambda f, i: re.sub('(\.[a-zA-Z0-9]+)$', '_%i\\1' % i, f) else: # filename has no extension, append counter to the file end name_func = \ lambda f, i: ''.join([f, '_%i' % i]) for new_file_name in \ (name_func(file, i) for i in itertools.count(1)): if not os.path.exists(new_file_name): return new_file_name
Revision: 33386
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 8, 2010 08:34 by skirmantas
Initial Code
import itertools import os import re def unique_file_name(file): ''' Append a counter to the end of file name if such file allready exist.''' if not os.path.isfile(file): # do nothing if such file doesn exists return file # test if file has extension: if re.match('.+\.[a-zA-Z0-9]$', os.path.basename(file)): # yes: append counter before file extension. re_func = re.compile('(\.[a-zA-Z0-9])$') else: # filename has no extension, append counter to the file end re_func = re.compile('$') for i in itertools.count(1): newpath = re_func.sub('_%i' % i, file) if not os.path.exists(newpath): return newpath
Initial URL
Initial Description
Initial Title
Unique file name (counter)
Initial Tags
Initial Language
Python