Как включить "part # +. Rar" в "расширения" - PullRequest
1 голос
/ 19 марта 2012

Поэтому я использую сценарий для разделения имен файлов на «имя» и «расширение», чтобы затем я мог применить кучу правил и поиграть с «именем», а скрипт должен собрать все вместе в конце .

На данный момент я использую:

import os, shutil, re
def rename_file (original_filename):
    name, extension = os.path.splitext(original_filename)    
    name = re.sub(r"\'", r"", name) # etc...more of these...
    new_filename = name + extension
    try:
        # moves files or directories (recursively)
        shutil.move(original_filename, new_filename)
    except shutil.Error:
        print ("Couldn't rename file %(original_filename)s!" % locals())
[rename_file(f) for f in os.listdir('.') if not f.startswith('.')]

Моя проблема в том, что os.path.splitext () включает в себя «.part (s)» из «.partX.rar» как часть имени файла, тогда как я хотел бы, чтобы он был включен как часть расширение файла.

Как мне заставить скрипт сделать это (без списка «расширений» или совершенно отдельного скрипта для rar-файлов)?

Спасибо!

1 Ответ

2 голосов
/ 19 марта 2012

os.path.splitext выполняет обратный поиск для '.'и возвращает первое найденное совпадение.Поэтому из коробки сплитекст не будет делать то, что вам нужно.Если вы просто используете его для маркировки имен файлов, я предлагаю вам разобрать имя файла, разделив его.взяв левую сторону в качестве имени, а затем воссоединяясь с правой.

...