Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! python3
- # renameFilename.py - Renames filenames with American MM-DD-YYYY date format to European DD-MM-YYYY.
- import shutil
- import os
- import re
- destFolder = '.\\#temp'
- # Create a regex that matches files with the American date format.
- datePattern = re.compile(r'''^(.*?) # all text before the date
- ((0|1)?\d)- # one or two digits for the month
- ((0|1|2|3)?\d)- # one or two digitas for the day
- ((19|20)\d\d) # four digits for the year
- (.*?)$ # all text after the date
- ''', re.VERBOSE)
- # Loop over the files in the working directory.
- for amerFilename in os.listdir(destFolder):
- print(amerFilename)
- mo = datePattern.search(amerFilename)
- #print(mo.group(0))
- # Skip files without a date.
- if mo == None:
- continue
- # Get the different parts of the filename.
- beforePart = mo.group(1)
- monthPart = mo.group(2)
- dayPart = mo.group(4)
- yearPart = mo.group(6)
- afterPart = mo.group(8)
- # Form the European-style filename.
- euroFilename = beforePart + \
- dayPart + '-' + monthPart + '-' + yearPart + \
- afterPart
- # Get the full, absolute file paths.
- absWorkingDir = os.path.abspath(destFolder)
- amerFilename = os.path.join(absWorkingDir, amerFilename)
- euroFilename = os.path.join(absWorkingDir, euroFilename)
- # Rename the files.
- print('Renameing "%s" to "%s"...' % (amerFilename, euroFilename))
- shutil.move(amerFilename, euroFilename) # uncomment after testing
- print('Finished.')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement