‘壹’ python 删除多个文本里的指定行
代码基于python 2.6。功能已写成函数,用的简单语法,很好懂。
新文件文件名自动附加"_back"。不懂再问。
import os, time
def readKeys(fileName):
keys = []
f = open(fileName, "r")
while True:
line = f.readline()
if not line:
break
key = line.strip()
if key: keys.append(key)
f.close()
return keys
def processKeys(editFileName, backFileName, keys):
f = open(editFileName, "r")
lines = f.readlines()
f.close()
editLines = []
backLines = []
for line in lines:
found = False
for key in keys:
if line.startswith(key):
backLines.append(line)
found = True
break
if not found:
editLines.append(line)
if backLines:
f = open(editFileName, "w")
f.writelines(editLines)
f.close()
f = open(backFileName, "w")
f.writelines(backLines)
print 'modify',editFileName,'save',backFileName
if __name__ == '__main__':
keys = readKeys("0.txt")
fileList = ["1.txt", "2.txt", "3.txt", "4.txt", "5.txt"]
while True:
for fileName in fileList:
base, ext = os.path.splitext(fileName)
processKeys(fileName, base + "_back" + ext, keys)
print 'sleep 30 seconds'
time.sleep(30)
‘贰’ python 删除特定几行
思路:
先读入一个文件,自动保存为列表类型,每行为一个元素
然后删除列表中索引为 0,1,2 的三个元素
以下代码调试通过:
f = open("/Users/mfhj-dz-001-119/Downloads/text001.txt")
lines = f.readlines()
print('
original lines is:', lines)
del lines[0:2]
print('
now the lines is:', lines)
读入的文件:
‘叁’ python遍历文本并删除特定内容
按 指定行数 分页读取好处理:
defiterpage(istream,pagesize):
buffer=[]
fordatainistream:
buffer.append(data)
iflen(buffer)>=pagesize:
yieldbuffer
buffer=[]
ifbuffer:
yieldbuffer
withopen("source.txt",'rt')ashandle:
forpageiniterpage(handle,1000):
printpage#oryourbusinesslogical
print"-"*32#pagebreak
删除文本文件的前N行:
defremovehead(filename,headlines):
buffer=[]
withopen(filename,'rt')ashandle:
fori,lninenumerate(handle):
ifln<headlines:
continue
buffer.append(ln)
withopen(filename,'wt')ashandle:
handle.writelines(buffer)
或者:
defgetandremovehead(filename,headlines):
withopen(filename,'rt')ashandle:
buffer=handle.readlines()
withopen(filename,'wt')ashandle:
handle.writelines(buffer[headlines:])
returnbuffer[:headlines]
但遇到大文本文件时,删除其中N行不是很理想的业务方案
‘肆’ python 怎么删除指定的行和空行
if l[:-1].strip() l是从旧文件里读出来的每一行,判断如果不是空行,则把这一行存到列表中,再将新的列表按行写入新文件。 首先strip()是去除空白字符的意思。 l[:-1].strip()是把这一行中除了最后那个换行符去掉,然后再去掉空白字符得到的字符串 如果去掉换行符和空白符后得到的是空字符串的话,这一行就被抛弃,否则加入新的列表,等待写入。
‘伍’ 如何用python删除txt中指定段落的内容 比如txt内容是 <a> x <b> <a> y <b> 我
importre
text=open(r"test.txt").read()
rep=re.escape(r"y")
text=re.sub("<a> "+rep+" <b>","<a> <b>",text)
f=open(r"test.txt","w")
f.write(text)
f.close()
‘陆’ python txt文件中删除
在对文件写入内容时,在某个条件下要清除文件内容再进行写入操作时,就可以使用truncate(size),不用删除文件再从新创建。
我们可以使用 truncate(size)函数来删除 txt 文件内容,size是表示从第几个字节开始清除,如果是0时代表是删除全部内容
‘柒’ python删除txt档案的首行的空行
f=open(你的文件),得到文件句柄。
读整个就是s= f.read()
你想去掉头部那些空行,用s=s.lstrip()就能把字符串左边那些空格换行通通去掉了。
‘捌’ python如何删除含有某个字符的行
#!/usr/bin/python
# -*- coding:utf-8 -*-
import re
import os
file1 = open('test.txt','r+')
new_file = 'new_test.txt'
if not os.path.exists(new_file):
os.system(r"touch {}".format(new_file))
file2 = open('new_test.txt','r+')
istxt = re.compile(r'.*if.*',re.I)
for line in file1.readlines():
line = line.strip()
ifstr = re.findall(istxt,line)
if ifstr:
line = []
else:
file2.write(line + '\n')
file1.close()
file2.close()
#重命名文件
os.rename("new_test.txt","test.txt")