У меня есть несколько файлов в каталоге,Python файла Переименование
file_IL.txt
file_IL.csv
file_NY.txt
file_NY.csv
мне придется переименовать их так, что они получают порядковый номер. Например,
file_IL.txt_001
file_IL.csv_001
file_NY.txt_002
file_NY.csv_002
Я написал следующий код Python
def __init__(self):
self.indir = "C:\Files"
def __call__(self):
found = glob.glob(self.indir + '/file*')
length = len(glob.glob(self.indir + '/file*'))
print length
count = 000
for num in (glob.glob(self.indir + '/file*')):
count = count + 1
count = str(count)
print count
shutil.copy(num, num+'_'+count)
print num
count = int(count)
Но это дает мне результат как указано ниже,
file_IL.txt_001
file_IL.csv_002
file_NY.txt_003
file_NY.csv_004
Может кто-то помочь мне изменить приведенный выше сценарий Python, чтобы соответствовать моим требованиям? Я новичок в Python, и я не уверен, как его реализовать.
Спасибо. Только одна ошибка, TypeError: unhashable type: 'list'. Не могли бы вы рассказать мне, как это исправить? Он находится в count = counts.get (ext, 0) +1 – user1345260
@ user1345260 Исправлено. Просто нужно правильно вытянуть расширение, а не переводить 'count' в строку. –
@LegoStormtroopr: 'length = len (found)', а не дублирование вызова glob, да? – Edward