2015-08-03 4 views
-2

Я новичок в кодировании и знаю только VBA.file rename, python batch-processing

Однако мне нужен сценарий python, который переименует все файлы excel в папку. Он должен включать дату последнего изменения файла в начале строки. Формат даты будет YYYYMMDD.

Например, если исходное имя файла «CWI001-CA-E1140», имя файла с измененным именем должно быть «20150422_CWI001-CA-E1140».

Я использую окна 8, спасибо заранее.

+1

Похоже, вы хотите, чтобы мы написали вам код. Хотя многие пользователи готовы создавать код для кодера, терпящего бедствие, они обычно помогают только тогда, когда плакат уже попытался решить проблему самостоятельно. Хорошим способом продемонстрировать это усилие является включение кода, который вы написали до сих пор, пример ввода (если есть), ожидаемого результата и выход, который вы фактически получаете (вывод консоли, трассировка и т. Д.). Чем больше деталей вы предоставляете, тем больше ответов вы получите. Проверьте [FAQ] и [ask]. –

+0

Обратите внимание, что этот тег [tag: batch-file] не применим _not_ (ссылка его описание); вместо этого используйте тег [tag: пакетная обработка]. Спасибо! – aschipfl

ответ

0

Использование os.listdir для получения списка файлов в каталоге и os.rename для переименования файлов.

import datetime 
import os 

DIRECTORY = '.' 

for filename in os.listdir(DIRECTORY): 

    # Skip non-xls file 
    if not filename.lower().endswith('.xls'): 
     continue 

    path = os.path.join(DIRECTORY, filename) 
    mtime = os.path.getmtime(path) # modification time 
    prefix = datetime.datetime.fromtimestamp(mtime).strftime('%Y%m%d') 
    newpath = os.path.join(DIRECTORY, prefix + '_' + filename) 

    # rename it 
    os.rename(path, newpath) 
+1

Пожалуйста, не кормите вампиров. – MarsAtomic