Переименование файлов ничего не делает Python 2.7 - PullRequest
0 голосов
/ 10 мая 2019

Я работаю над переименованием файлов в каталоге.Я запускаю приведенный ниже код без ошибок, но файлы остаются с тем же именем.

dir = 'H:\Projects\test'
files = glob.glob(dir)
files.sort(key=os.path.getmtime)
for i, file in enumerate(files):
    try:    
       os.rename(file, '{dir}/attachment-{i}.txt')
       break
    except:
        print('rename failed')

Каталог имеет несколько типов файлов.Итак, мне нужно, чтобы они все переименовали независимо.Что я делаю неправильно?

1 Ответ

0 голосов
/ 10 мая 2019

Посмотрите, что на самом деле возвращает ваш звонок на enumerate(...).

Ваша строка glob.glob(...) выглядит так, как будто она вернет только указанный вами каталог, а не его содержимое. Если вы хотите вернуть содержимое вашего каталога, вместо

dir = 'H:\Projects\test'

1008 * попробовать *

dir = 'H:\\Projects\\test\\*'

Двойная обратная косая черта является необходимыми управляющими символами, а звездочка в конце указывает команде glob, что вы заинтересованы в содержимом каталога, а не в самом каталоге.

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...