#!/bin/python
import argparse
import glob
import sys
import shutil
import time
import os
if __name__ == '__main__':
ap = argparse.ArgumentParser(description='Rename files')
ap.add_argument('dir', metavar='dir', type=str, help='input dir')
ap.add_argument('-o', '--output', metavar='dir', type=str, help='output dir')
args = ap.parse_args()
if not args.dir:
ap.print_help()
exit()
src_files = []
if '*' not in args.dir and '?' not in args.dir:
src_files = glob.glob(args.dir + '/*.*')
else:
src_files = glob.glob(args.dir)
src_files = [os.path.abspath(f) for f in src_files]
src_dir = os.path.dirname(src_files[0])
dst_dir = src_dir
copy_mode = False
if args.output:
dst_dir = os.path.abspath(args.output)
copy_mode = True
timeCurrent = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
count = 0
for i, src in enumerate(src_files):
dir, name = os.path.split(src)
if name == 'rename.py': # 不要rename自己
continue
base, ext = os.path.splitext(name)
dst = os.path.join(dst_dir, '%s_%04d%s' % (timeCurrent, i, ext))
print('Rename %s to %s' % (src, dst))
if copy_mode:
shutil.copy(src, dst)
else:
shutil.move(src, dst)
count += 1
print('Total %d files renamed or copied.' % (count))
用python实现文件的重命名及拷贝
最新推荐文章于 2024-08-12 14:30:00 发布