《python编程快速上手》第9章 作业9.8.3

本来想偷懒不做这题,感觉好麻烦,就上网找找答案。
结果没有满意的,还是自己写一个吧。
相较于一位网上同学的答案,此代码亮点在’%03d’和zip()函数的使用,还有任务拆分清晰。
做了个把小时的,代码还算满意,就作为第一篇博客,激励下自己继续努力。
如有错误,请指出以相互学习,多谢!

#! python3
# complete the filename that contain sequence like’spam001’,’spam003’
# folder named ‘spam’ which contains files [‘abc001.txt’, ‘abc003.txt’, ‘abc004.txt’, ‘abc006.txt’, ‘abc007.txt’, ‘abcabc.txt’]

import os, re, shutil
os.chdir('spam')
# 找到指定文件夹中所有带指定前缀的文件
# look for the particular word in filename
o_filenames = [x for x in os.listdir('.') if '.' in x and x.startswith('abc')]
print(o_filenames)

# 定位缺失的编号
# locate the missing num
numRegex = re.compile(r'^abc(.*?).txt$')
o_num_list = []
for o_filename in o_filenames:
    t_name_re = numRegex.search(o_filename)
    o_num_list.append(t_name_re.group(1))
print(o_num_list)

n_num_list = []
for i in range(1,len(o_num_list)+1):
    t_i = '%03d' % i
    n_num_list.append(t_i)
print(n_num_list)

for i in n_num_list:
    if i not in o_num_list:
        print("abc%s.txt" % i)

# 对文件改名以消除缺失的编号
# rename all files to complete the sequence
for i,v in zip(o_num_list, n_num_list):
    shutil.move('abc%s.txt'%i, 'abc%s.txt'%v)

print('Rename project is done!')

PICC编译器9.8.3是一款由美国微芯片技术公司推出的集成电路编译器。该编译器可用于编译PIC(Peripherally Integrated Circuit)系列微控制器的汇编语言源代码,将其转化为可执行的机器码。PICC编译器是一种高级语言编译器,可以将使用C语言等高级语言编写的代码转换为机器指令,以实现对PIC芯片的程序控制。 PICC编译器9.8.3具有以下特点和功能: 1. 高效性能:该编译器经过优化和改进,具有快速、高效的编译和优化能力,能够生成高效的机器码,使程序在PIC芯片上运行更加稳定和高效。 2. 高兼容性:该编译器对多种PIC系列芯片提供支持,包括PIC10/12/16/18/24/30/33以及dsPIC和PIC32系列等,使开发者可以根据具体需求选择适合的芯片进行开发。 3. 强大的调试功能:PICC编译器9.8.3提供了丰富的调试功能,如单步执行、断点调试等,方便开发者进行代码的调试和错误排查,提高开发效率。 4.友好的开发环境:该编译器配套的开发环境友好易用,提供了直观的用户界面和丰富的开发工具,如语法高亮显示、自动补全、代码片段等,方便开发者进行代码编写和管理。 PICC编译器9.8.3是一款成熟和稳定的编译器工具,被广泛应用于电子产品开发、嵌入式系统等领域。它将高级语言与PIC芯片结合,为开发者提供了便捷、高效的开发方式,帮助开发者更好地实现对PIC芯片的控制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值