簡體   English   中英

如何刪除文本文件中的特定行?

[英]How to delete specific line in text file?

我正在制作一個笑話程序,它有一個存儲笑話的文本文件。 在程序加載時,它從文件中獲取所有行並將它們分配給一個笑話列表,除了刪除笑話 function 之外的所有內容都在工作。 每當您調用 remove joke 時,它最終會將文本文件中的每一行重寫為一個空字符串,而不是選定的行

當運行這個 function 時,它確實從笑話列表中正確地刪除了笑話

def remove_joke():
    for i in range(len(jokes)):
        print(f"{i}\t{jokes[i]}")
    
    remove_index = int(input("Enter the number of the joke you want to remove:\t"))

    with open("jokes.txt", "r") as f:
        lines = f.readlines()
    with open("jokes.txt", "w") as f:
        for line in lines:
            print(line)
            if line == jokes[remove_index]:
                f.write("")
    jokes.remove(jokes[remove_index])

代替

            if line == jokes[remove_index]:
                f.write("")

你要:

            if line != jokes[remove_index]:
                f.write(line+'\n')

甚至:

            if line != jokes[remove_index]:
                print(line, file=f)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM