程序行号问题

编写一个程序demo.py,要求运行该程序后生成一个demo_new.py文件,内容与demo.py相同,在每一行后面加上行号(#1)开始,并且所有的行#符号垂直对齐

思路:打开demo.py后找出最长的一行以这行为基准,所有行都和最长行对齐,在每一行后面都添加#。

f='demo.py'
with open(f,'r')as fp:
    lines=fp.reaadlines()
maxlines=len(max(lines,key=len))

lines=[line.rstrip().ljust(max)+'#'+str(index)+'\n' for index,line in enunmerate(lines)]
with open(filename[:-3]+'_new.py','w')as fp:
    fp.writelines(lines)

1.max函数:类型只能是int或者float类型
2.string.rstrip(),可以删除string字符串末尾的指定字符(默认为空格)str.rstrip([chars])
3.string.ljust(),返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串S.ljust(width[,fillchar=None])
width-指定字符串长度,要在字符串长度范围内
fillchar-可选参数,指定的填充字符,默认为空格
4.for 循环获取index索引
5.使用enumerate函数返回下标
6.filename 文件名的修改
7在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值