[英]How to delete a line from a file in Python
我尝试使用此方法: 从Python中的文件删除一行 。 我对代码进行了一些更改以适合自己的目的,如下所示:
def deleteLine():
f=open("cata.testprog","w+")
content=f.readlines()
outp = []
print(f.readline())
for lines in f:
print(lines)
if(lines[:4]!="0002"):
#if the first four characters of a line do not equal
outp.append(lines)
print(outp)
f.writelines(outp)
f.close()
问题在于整个文件都被一个空字符串替换,而outp等于一个空列表。 我的文件不为空,我想删除以“ 0002”开头的行。 打印f.readline()给了我一个空字符串。 有谁知道如何解决它?
提前致谢,
您以错误的模式打开文件:“ w +”。 此模式用于写入和读取,但首先被截断。 首先打开文件进行读取。 如果不是很大的文件,则将其读入内存,然后在其中进行转换并通过以写模式打开文件来保存。
与链接的问题相比,您完全更改了文件处理。 在那里,首先打开文件以读取内容,然后关闭然后打开以写入已处理的内容。 在这里打开它,首先使用f.readlines()
,所以文件的所有数据都在内容中,文件指针在文件的末尾。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.