码迷,mamicode.com
首页 > 编程语言 > 详细

《Python编程快速上手》第9.8.3实践练习

时间:2018-03-12 18:37:25      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:Python编程快速上手

#9.8.3 消除缺失的编号 """ 1.spam001.txt,spam002.txt,spam005.txt,如此。将前边的消除,然后后边逐一递增 2.空出一些编号,指定空出区域。然后修改编号。 """ import re,os,shutil #find_path=input("输入要查找的目录:") #find_path=os.path.abspath(find_path) find_path=os.path.abspath("D:\pytest") filenameReg=re.compile(r"(spam(\d+)\.txt$)") #将合格的文件名添加为列表 file_list=[] for name in os.listdir(find_path): reg_name=filenameReg.search(name) if reg_name: file_list.append(reg_name.group(1)) #空余值设计,不做过多类型及数值区域判断,输入区域符合正常范围 space=input("请确认是否留下空白区,以备后用(Y/N)") #预留配对修改名为字典 chname_list={} if space.lower()==‘y‘: rang1=input("输入空白区的起始值(包含此值为空):") rang2=input("输入空白区的结束值(包含此值为空):") rang=range(int(rang1),int(rang2)+1) rang=list(rang) print("留空区为:"+str(rang)) #将需要处理的文件名配对为字典 list1= file_list[:rang[0]-1].copy() for file in list1: print(list1.index(file)) filename="spam"+str(list1.index(file)+1).rjust(3,‘0‘)+".txt" chname_list[file]=filename list2= file_list[rang[0]-1:].copy() for file in list2: filename="spam"+str(list2.index(file)+rang[-1]+1).rjust(3,‘0‘)+".txt" chname_list[file]=filename elif space.lower()==‘n‘: #将需要处理的文件名配对为字典 for file in file_list: filename="spam"+str(file_list.index(file)+1).rjust(3,‘0‘)+".txt" chname_list[file]=filename else: print("Input error") #对字典进行操作move os.chdir(find_path) for k,v in chname_list.items(): shutil.move(k,v) print("move {} to {}".format(k,v)) print("done")

《Python编程快速上手》第9.8.3实践练习

标签:Python编程快速上手

原文地址:http://blog.51cto.com/2884868/2085595

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!