使用python在文件中选择一行后删除行(Removing lines after one selected in file using python)

编程入门 行业动态 更新时间:2024-10-26 23:34:53
使用python在文件中选择一行后删除行(Removing lines after one selected in file using python)

我有一个函数,我想用它来删除名为Schedule.txt的文件中的一组行。 我希望它总共删除6行,在开头输入,询问用户删除的时间,这是六行中的第一行。 这是我所拥有的。 如果有人可以帮我删除6行,请回答!

def delete (): train = int(input("Enter the train time that you want to remove: ")) file = open("Schedule.txt", "r") file.read("| Train: "+train)

I have a function that I want to use to delete a set of lines in a file called Schedule.txt. I want it to delete 6 lines in total, with an input at the beginning, asking the user which time to delete, which is the first out of six lines. This is as far as I've got. If anyone can help me to delete the 6 lines, please answer!

def delete (): train = int(input("Enter the train time that you want to remove: ")) file = open("Schedule.txt", "r") file.read("| Train: "+train)

最满意答案

这个怎么样?

import fileinput import sys def delete (): train = input("Enter the train time that you want to remove: ") train = train.strip() # REMEMBER WHICH LINE THE TRAIN WAS FOUND ON train_found_on = None # OPEN THE FILE FOR IN-PLACE WRITING for i, line in enumerate(fileinput.input('schedule.txt', inplace=1)): # NEVER WRITE OUT THE LINE WHERE THE TRAIN WAS MATCHED if 'Time:' in line and train in line: train_found_on = i continue # NOR THE LINES AFTER IN THAT BLOCK if train_found_on and i < (train_found_on + 7): continue # BUT WRITE OUT THE OTHERS sys.stdout.write(line)

另请参阅此文章: 如何在Python中修改文本文件?

How about this?

import fileinput import sys def delete (): train = input("Enter the train time that you want to remove: ") train = train.strip() # REMEMBER WHICH LINE THE TRAIN WAS FOUND ON train_found_on = None # OPEN THE FILE FOR IN-PLACE WRITING for i, line in enumerate(fileinput.input('schedule.txt', inplace=1)): # NEVER WRITE OUT THE LINE WHERE THE TRAIN WAS MATCHED if 'Time:' in line and train in line: train_found_on = i continue # NOR THE LINES AFTER IN THAT BLOCK if train_found_on and i < (train_found_on + 7): continue # BUT WRITE OUT THE OTHERS sys.stdout.write(line)

See also this post: How do I modify a text file in Python?

更多推荐

本文发布于:2023-07-27 17:44:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1293543.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件   Removing   python   file   selected

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!