栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

《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")    


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/225370.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号