|
import os
|
|
import random
|
|
import sys
|
|
|
|
chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'
|
|
|
|
def make_new_filename(length=8):
|
|
new_filename = []
|
|
for idx in xrange(length):
|
|
new_filename.append(random.choice(chars))
|
|
new_filename.extend(['.', 'j', 'p', 'g'])
|
|
return ''.join(new_filename)
|
|
|
|
def main():
|
|
""" This script is intended to rename .jpg files to a randomly selected
|
|
8 character name. It could easily be extended to deal with other types
|
|
of files at some point.
|
|
|
|
USAGE:
|
|
|
|
python pic_renamer.py <pictures_directory>
|
|
"""
|
|
|
|
if len(sys.argv) < 2:
|
|
print 'ERROR: not enough arguments specified'
|
|
return -1
|
|
|
|
dir_path = sys.argv[1]
|
|
|
|
for filename in os.listdir(dir_path):
|
|
if filename.endswith('.jpg') or filename.endswith('.jpeg'):
|
|
old_full_path = os.path.join(dir_path, filename)
|
|
new_filename = make_new_filename()
|
|
new_file_path = os.path.join(dir_path, new_filename)
|
|
|
|
os.rename(old_full_path, new_file_path)
|
|
|
|
print '{:s} - renaming - {:s}'.format(filename, new_filename)
|
|
else:
|
|
print '{:s} - skipping'.format(filename)
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main())
|