Python 如何从文件中删除特定的数字?

Python 如何从文件中删除特定的数字?,python,Python,我试图从包含这些数字的文本文件中删除所有特定的行 1801 - 1802 - 1803 until 2000 类似文件的示例 2 1801 0.417 2 1802 0.795 2 1803 0.129 2 1804 0.852 我在一个数字中尝试的代码 with open("example.txt", "r") as f: lines = f.readlines() with open("yo.txt", "w

我试图从包含这些数字的文本文件中删除所有特定的行

1801 - 1802 - 1803 until 2000 
类似文件的示例

2 1801 0.417
2 1802 0.795
2 1803 0.129
2 1804 0.852
我在一个数字中尝试的代码

with open("example.txt", "r") as f:
    lines = f.readlines()
with open("yo.txt", "w") as f:
    for line in lines:
        if line.strip("\n") != "1801":
            f.write(line)

但不起作用,也不影响正在检查行是否为1801的文件。你应该检查一下1801是否在这条线上

如果行中的“1801”,则应使用

由于需要检查1801和2000之间的任何数字,因此需要使用范围。这些数字将是范围内的整数。所以,在检查之前将它们转换为字符串

编辑版本2:读取和写入文件: 输入文件:

2 1801 0.417 # do not write to output file
2 1802 0.795 # do not write to output file
2 1750 0.234 # write to output file
2 1803 0.129 # do not write to output file
2 1779 0.123 # write to output file
2 1804 0.852 # do not write to output file
2 1760 0.345 # write to output file
输出文件:

2 1750 0.234 # write to output file
2 1779 0.123 # write to output file
2 1760 0.345 # write to output file
编辑版本1:概念逻辑 试试这个。我只是将整个数据放入一个字符串并进行处理,而不是一个文件。如果需要完整的文件读写实现,请告诉我

sample_data = '''2 1801 0.417
2 1802 0.795
2 1750 0.234
2 1803 0.129
2 1779 0.123
2 1804 0.852
2 1750 0.345'''

for line in sample_data.split('\n'):
    if not any(str(i) in line for i in range(1801, 2001)):
        print ('written to file - line :',line)
    else:
        print ('skipped line ',line)
其输出将为:

skipped line  2 1801 0.417
skipped line  2 1802 0.795
written to file - line : 2 1750 0.234
skipped line  2 1803 0.129
written to file - line : 2 1779 0.123
skipped line  2 1804 0.852
written to file - line : 2 1750 0.345

谢谢回复,但我需要删除它们,不要打印其他文本。解决方案就是要实现的逻辑。让我写完整的代码,可以读取文件,只写那些数字不在1801&2000@user5520049新的答案有用吗?非常优雅和漂亮。竖起大拇指。就投吧…@DanielHao,我花了很多时间在这些网站和Coursera的免费课程上,一些youtube视频、coursera和每日解决堆栈溢出问题,并回顾一些关于堆栈溢出的顶级回答中的答案
skipped line  2 1801 0.417
skipped line  2 1802 0.795
written to file - line : 2 1750 0.234
skipped line  2 1803 0.129
written to file - line : 2 1779 0.123
skipped line  2 1804 0.852
written to file - line : 2 1750 0.345