Форум сайта python.su
Как сделать считывание названия файла, и создание нового добавляя в название +1
т.е. name1 -> name2 -> name3
этот кусок кода делает так: name 1 -> name11 -> name111.
for name in os.listdir(path): name_, ext_ = os.path.splitext(name) newfile = os.path.join(path, ''.join((name_, '1', ext_))) with open(newfile, 'w') as f: f.write(open(os.path.join(path, name)).read())
Отредактировано Lion23 (Сен. 5, 2016 21:22:02)
Офлайн
num = 0 for name in os.listdir(path): name_, ext_ = os.path.splitext(name) num += 1 newfile = os.path.join(path, ''.join((name_, str(num), ext_))) with open(newfile, 'w') as f: f.write(open(os.path.join(path, name)).read())
Офлайн
RomissevdПолучилось из этого когда так: name1 -> name12 -> name123.
for name in os.listdir(path): name_, ext_ = os.path.splitext(name) num += 1 newfile = os.path.join(path, ''.join((nameFile, str(num), ext_))) with open(newfile, 'w') as f: f.write(open(os.path.join(path, name)).read())
Офлайн
Lion23Создай тему в специальном разделе. Вообще, плохая практика задавать несколько вопросов в одном топике, потому что это приводит к свалке ответов.
P.S: и что бы не делать еще одну тему - хочу сейчас освоить vim и пользоваться им. Кто юзает вим на винде?
Lion23Надо сделать функцию, которая принимает строку с именем и переделывает её, инкрементируя число на конце. Сама переделка делается через регулярные выражения путём выделения числа, приведения его к целочисленному типу, операции с числом, приведения нового числа обратно к строке и приклеивания её к нечисловой части имени.
т.е. name1 -> name2 -> name3
Отредактировано py.user.next (Сен. 5, 2016 22:02:53)
Офлайн