Переименовать файлы, Python / Jython - PullRequest
5 голосов
/ 13 марта 2009

У меня есть каталог, полный файлов, в некоторых из которых есть амперсанд в именах. Я хотел бы переименовать все файлы с амперсандами и заменить каждый амперсанд на плюс (+). Я работаю с около 10 тыс. Файлов. Какой лучший способ сделать это?

Ответы [ 4 ]

13 голосов
/ 13 марта 2009
import glob, os
for filename in glob.glob(os.path.join(yourPath, "*&*")):
   os.rename(filename, filename.replace('&','+'))
7 голосов
/ 13 марта 2009

Если у вас есть подкаталоги:

import os
for dirpath, dirs, files in os.walk(your_path):
    for filename in files:
        if '&' in filename:
            os.rename(
                os.path.join(dirpath, filename),
                os.path.join(dirpath, filename.replace('&', '+'))
            )
2 голосов
/ 13 марта 2009
import os
directory = '.'
for file in os.listdir(directory):
    if '&' in file :
        os.rename(file, file.replace('&', '+'))

Замените directory своим собственным путем.

0 голосов
/ 23 сентября 2013

с использованием переименование :

$ rename --find '&' --replace '+' *
...