python怎么删除txt文本里面的第一行?
一、首先可以按照下面的代码进行输入:
def del_firstline():
for line in fileinput.input("file.txt", inplace = 1):
if not fileinput.isfirstline():
print(fileinput.replace("\n", ""))
二、fileinput
文件输入模块提供用于处理一个或多个文本文件的功能。您可以使用for循环读取一个或多个文本文件的所有行。
三、fileinput常用函数
1、fileinput.input() #返回能够用于for循环遍历的对象
2、fileinput.filename() #返回当前文件的名称
3、fileinput.lineno() #返回当前已经读取的行的数量(或者序号)
4、fileinput.filelineno() #返回当前读取的行的行号
5、fileinput.isfirstline() #检查当前行是否是文件的第一行
6、fileinput.isstdin() #判断最后一行是否从stdin中读取
7、fileinput.close() #关闭队列
扩展资料:
Python的设计哲学是“优雅”、“明确”、“简单”。因此,Perl语言中“总是有多种方法来做同一件事”的理念在Python开发者中通常是难以忍受的。Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。
在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确的没有或者很少有歧义的语法。
由于这种设计观念的差异,Python源代码通常被认为比Perl具备更好的可读性,并且能够支撑大规模的软件开发。这些准则被称为Python格言。在Python解释器内运行import this可以获得完整的列表。
参考资料来源:百度百科-Python
1、打开JUPYTER NOTEBOOK,新建一个PYTHON文档。
2、import os为了可以进行系统操作,需要引用os模块。
3、import docx会发现没有这个库,那么需要用pip3 install python-docx来安装一下。
4、import docx这个时候安装好了就可以引用了。
5、doc = docx.Document('E:\\test.docx')找到相应要处理的文档在什么位置。
6、print(len(doc.paragraphs))print(doc.paragraphs[0].text)查看一下一共有多少行,要删除第一行,查看第一行的内容。
7、doc.paragraphs[0].clear()doc.save('E:\\test1.docx')这个时候就可以删除指定行数,然后保存生成另一个文件,以免对源文件造成损坏。删除第一行成功。
with open('file.txt', 'r') as old_file:
with open('file.txt', 'r+') as new_file:
current_line = 0
# 定位到需要删除的行
while current_line < (del_line - 1):
old_file.readline()
current_line += 1
# 当前光标在被删除行的行首,记录该位置
seek_point = old_file.tell()
# 设置光标位置
new_file.seek(seek_point, 0)
# 读需要删除的行,光标移到下一行行首
old_file.readline()
# 被删除行的下一行读给 next_line
next_line = old_file.readline()
# 连续覆盖剩余行,后面所有行上移一行
while next_line:
new_file.write(next_line)
next_line = old_file.readline()
# 写完最后一行后截断文件,因为删除操作,文件整体少了一行,原文件最后一行需要去掉
new_file.truncate()
一般是:
一边读文本文件,一边将行存入数组;
然后对读取的下一行数据,与数组中的数据做对比,
如果重复,就舍弃;;
最后就爱那个数组中的数据写入文件;