del 函数在 python 中不起作用

del function not working in python

我是 python 的新手,我无法使用 del 函数从列表中删除某些元素。我向它传递一个包含多行的简单文本文件,使用 splitlines() 创建行列表,然后尝试使用 del 删除前几个元素。

当我 运行 它只是打印出列表而没有删除行。但是,我可以使用 del inputfile[:] 删除所有内容。它没有抛出任何错误,我有点卡住了。

class Zero_Check(object):

    def __init__(self):
        self.path2file='C:\File2check\Output.txt'        

    def Parser(self):
        print('parser')

        inputfile = open(self.path2file).read().splitlines()
        del inputfile[4]
        print(inputfile)

        #for line in inputfile:
         #   print(line)

if __name__=='__main__':

    check=Zero_Check().Parser()

驱动器 C 中的卷是 OSDisk 卷序列号为 F0A9-9FB7

C:\File2check目录

2015 年 8 月 10 日 16:36 .

2015 年 8 月 10 日 16:36 ..

08/10/2015 16:28 0 1.txt

08/10/2015 16:28 0 10.txt

08/10/2015 16:28 0 11.txt

08/10/2015 16:31 2,411,884 12.txt

08/10/2015 16:31 2,411,884 13.txt

08/10/2015 16:31 2,411,884 14.txt

08/10/2015 16:31 2,411,884 15.txt

...

输出 -

[' Volume in drive C is OSDisk', ' Volume Serial Number is F0A9-9FB7', '', ' Directory of C:\File2check', '08/10/2015  16:36    <DIR>          .', '08/10/2015  16:36    <DIR>          ..', '08/10/2015  16:28                 0 1.txt', '08/10/2015  16:28                 0 10.txt', '08/10/2015  16:28                 0 11.txt', '08/10/2015  16:31         2,411,884 12.txt', '08/10/2015  16:31         2,411,884 13.txt', '08/10/2015  16:31         2,411,884 14.txt', '08/10/2015  16:31         2,411,884 15.txt', '08/10/2015  16:31         2,411,884 16.txt', '08/10/2015  16:31         2,411,884 17.txt', '08/10/2015  16:33         1,457,843 18.txt', '08/10/2015  16:31         2,411,884 19.txt', '08/10/2015  16:28                 0 2.txt', '08/10/2015  16:31         2,411,884 20.txt', '08/10/2015  16:31         2,411,884 21.txt', '08/10/2015  16:33         1,457,843 22.txt', '08/10/2015  16:33         1,457,843 23.txt', '08/10/2015  16:33         1,457,843 24.txt', '08/10/2015  16:28                 0 3.txt', '08/10/2015  16:28                 0 4.txt', '08/10/2015  16:28                 0 5.txt', '08/10/2015  16:28                 0 6.txt', '08/10/2015  16:28                 0 7.txt', '08/10/2015  16:28                 0 8.txt', '08/10/2015  16:28                 0 9].txt', '08/10/2015  16:36                 0 Output.txt', '              25 File(s)     27,538,328 bytes', '               2 Dir(s)  593,421,463,552 bytes free']

无需制作class,操作简单

def delete():
    with open('C:\File2check\Output.txt') as f:
        lines = f.readlines()
        print(lines)
        del lines[4]
        print(lines)