星期五, 十一月 6

批量重命名文件

将某一文件夹的所有同一类型文件重命名成 1.x 2.x …… 的形式

#!/usr/bin/env python
# coding=utf8
import os;
import sys;
import re;

args = sys.argv
thispath = os.getcwd();
dirlist = os.listdir(thispath);

if '-h' in args:
print('chall v0.1\nUsage: chall [ext] [-d] ');
exit(0);
elif '-d' in args:
dind = args.index('-d');
if dind > len(args)-2:
print('Wrong arguments');
exit(1);
else:
thispath = os.getcwd() + '/' + args[dind + 1];
del args[dind + 1];
args.remove('-d');
dirlist = os.listdir(thispath);

if len(args) == 1:
if len(dirlist) == 0:
print("No files found!");
exit(1);
ext = dirlist[0].split(".")[len(dirlist[0].split("."))-1];
elif len(args) == 2:
ext = args[1];

num = 1;
for filename in dirlist:
if re.search("." + ext + "$", filename) != None:
os.chdir(thispath);
os.rename(filename, str(num)+"."+ext);
num += 1;

没有评论:

发表评论