编写一个程序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