python批量删除5000个txt文件的第一行

shell学习笔记 python笔记11,7652字数 634阅读2分6秒阅读模式

今天为了做那个验证百度站长平台抓取诊断工具能否收录二级URL的SEO实验,我批量搞了一批页面,大概有200个左右,然而在源文件里,每个html文件顶部都有一句无用的代码,又不能用正则表达式给批量删除掉,那怎么办呢?原本想用shell看能不能实现,百度谷歌了N多结果都不行,ZERO大神扔过来一段python代码,非常简洁,我试了一下,一下子就解决了问题!现记录在此,下次如果再遇到这个问题,也不用到处找啦!

^_^ ^_^ ^_^ ^_^

import os

for f in os.listdir('.'):
       if '.txt' in f:
               lines = open(f).readlines()
               open(f, 'w').writelines(lines[1:])

-------------------2015年1月24日补充---------------------

今天又遇到一类似的问题,有380个txt文件,要批量删第一行,因为机器没有安装python环境,只能想办法用shell来解决了。记得shell中的sed命令也有删除第1行或者第任意行的功能,于是找了一相关资料,果然好用,特在此补充一下。过程非常简单,shell代码如下:

for i in `ls`;do sed -i '1d' $i;done

首先用cd命令切换到380个txt文件所在的文件夹,然后用for循环遍历ls命令的结果(也就是380个文件的文件名列表),最后用sed来删除第一行,就这么简单!sed -i表示将改动直接写入到原文件里。

 最后更新:2015-9-1
  • 本文由 asdfasd 发表于 2014-06-2319:36:24
  • 转载请务必保留本文链接:http://wp.fangfa.me/shell/python-delete-txt-first-line.html