Python переименовать файл - заменить все подчеркивания пробелами - PullRequest
0 голосов
/ 12 февраля 2020

Я использую python для переименования всех файлов в каталоге с расширением ".ext". Сценарий находится в той же папке, что и файлы, поэтому не нужно беспокоиться о пути.

Как заменить все подчеркивания в именах файлов пробелами? Например имя файла This_is_a_file 01 v2.22.ext до This is a file 01 v2.22.ext? Я пробовал следующий код:

import glob, re, os

for filename in glob.glob('*.ext'):
    new_name = re.sub("_", " ", filename) # this line does work
    os.rename(filename, new_name)

Редактировать: Извините, у меня была ошибка логика c в другом месте в моем коде. Было больше строк замены, чем я показал здесь, но я назначал new_name заменам filename вместо обновления new_name на каждом шаге. Приведенный выше код должен работать.

Ответы [ 2 ]

1 голос
/ 12 февраля 2020

это простая замена, нет необходимости использовать регулярные выражения. используйте это вместо:

new_name = filename.replace('_', ' ')
0 голосов
/ 12 февраля 2020

Вы можете попробовать что-то вроде этого:

 import glob, re, os

 for filename in glob.glob('*.ext'):
    new_name = ' '.join(filename.split('_'))  # another method 
    os.rename(filename, new_name)

Приветствия

...