pdf电子书上的代码往往带有1234等行号,这些行号就实用上说很没必要,要说讲解说明这是说的第几行,可以下文照例引用多一次,看的更清楚还不用回头按着行号找,度一下君子之心,是在给复制代码制造障碍,前缀行号得一个个删多痛苦,那就编写一个脚本自动来删了。python语法迥异于C系列,写着写着就顿下来,就好像知道路怎么走,怎就没走过一般,扎实基本功,还是得从C语言开始。问题简单,给复制的代码的每一行按空格拆分至数组,通过判断数组的第一项也就是[0]项是否是数字,是就弃,不是就留下来
   os.chdir(r'currentpath')    #切换到当前目录
f0=open("a.html","r") #只读打开保存复制了代码的文件
f1=open("b.html","w") #写入方式打开新文档保存删除前缀的代码
line2="" #初始化变量来保存删除了前缀代码
for line in f0: #遍历a文件里的每一行
line=line.strip(' ') #去除每行代码前后可能带有的空格
line=line.replace("\t", " ") #把每行代码可能带有制表符\t去除
arr=line.split(' ') #每行代码按空格分离进数组
for i in range(0,len(arr)): #遍历得到的按空格分离的数组
if i==0 and not arr[i].isdigit(): #判断是否数组第一个元素且为数字,isdigit也可用isnumeric替换
line2+=arr[i] + " " #条件为真保存入line2变量
elif i!=0: #当不是数组第一个元素跳过判断
line2+=arr[i] + " " #加入新变量,用空格连接所有元素
f1.write(line2) #把获得的去除前缀的代码写入b文件
重点要提的ine=line.replace("\t", " ")这一句,折腾了半个上午,开没加这一句,判断0元素是否为数字时一直得不到想要的效果,良久才发现这个隐藏的分隔符在作祟,html里带制表符时不影响实际输出的,但又看起来咋和空格没区别,可用空格分隔字符串就会把制表符带入元素里,多了\t的数字自然也就不是数字了。
细节决定效率,效率决定成就,这个问题之前不是没有碰到过,只是当时就是惘然不知所措。学了忘,忘了学,选了这行,本人就是有蹼的水鸭子也得上这旱架。