读取和删除python中的行

时间:2017-12-19 16:45:30

标签: python

我正在尝试读取特定文件中的所有行,并将行号打印为索引。

我要做的是通过输入用户的行号来删除该行。 就目前情况而言,它打印的所有行都包含该行的编号,但是当我输入要删除的行号时,它不会被删除。

这是删除功能的代码:

def deleteorders ():

    index = 0
    fh = open ('orders.txt', 'r')
    lines = fh.readlines()

    for line in lines:
        lines = fh.readlines()
        index = index+1
        print (str(index) + ' ' + line)


    try:
        indexinp = int(input('Enter the number of the order to be deleted, or "B" to go back: '))

        if indexinp == 'B':
            return
        else:
            del line[indexinp]
            print (line)

            fh = open ('orders.txt', 'w')
            fh.writelines(line)
            fh.close()

    except:
        print ('The entered number is not in the range')
        return

1 个答案:

答案 0 :(得分:0)

这应该有用(您需要重新添加错误处理):

lines = enumerate(open('orders.txt'))
for i, line in lines:
    print i, line
i = int(input(">"))
open('orders.txt', 'w').write(''.join((v for k, v in lines if k != i)))