python删除文件部分内容_如何在python中删除文件的一部分?

基本上你不能从文件的开头删除东西,所以你必须写入一个新文件。

我认为pythonic方式看起来像这样:

# get a iterator over the lines in the file:

with open("input.txt", 'rt') as lines:

# while the line is not empty drop it

for line in lines:

if not line.strip():

break

# now lines is at the point after the first paragraph

# so write out everything from here

with open("output.txt", 'wt') as out:

out.writelines(lines)以下是一些较简单的版本,对于较旧的Python版本没有with:

lines = open("input.txt", 'rt')

for line in lines:

if not line.strip():

break

open("output.txt", 'wt').writelines(lines)和一个非常简单的版本,只需在空行拆分文件:

# first, read everything from the old file

text = open("input.txt", 'rt').read()

# split it at the first empty line ("\n\n")

first, rest = text.split('\n\n',1)

# make a new file and write the rest

open("output.txt", 'wt').write(rest)请注意,这可能非常脆弱,例如Windows通常使用\r\n作为单个换行符,因此空行将改为\r\n\r\n。但通常你知道文件的格式只使用一种换行符,所以这可能没问题。

你可能感兴趣的:(python删除文件部分内容)