要删除文件中的上一行数据,可以使用`fileinput`模块。以下是使用`fileinput`模块删除文件第一行的代码示例:
import fileinput
def del_firstline(file_path):
with fileinput.input(file_path, inplace=1) as file:
for line_number, line in enumerate(file, start=1):
if line_number != 1:
print(line, end='')
调用函数,传入文件路径
del_firstline('file.txt')
这段代码会打开指定的文件,并逐行读取内容。对于每一行,如果它不是文件的第一行(由`line_number != 1`判断),则将其输出到标准输出,实际上就是删除了第一行。`enumerate`函数用于获取当前行的行号,`start=1`表示行号从1开始计数。
请注意,`inplace=1`参数表示直接修改文件内容,而不是输出到标准输出。如果你希望保留原始文件并创建一个新文件来保存修改后的内容,可以将`inplace=1`改为`inplace=0`。
如果你需要删除其他行而不是第一行,可以修改`if line_number != 1:`条件中的数字。例如,`if line_number != 2:`将删除第二行。