如何用#替换文本文件中的重复项?

2024-09-30 00:35:30 发布

您现在位置:Python中文网/ 问答频道 /正文

对于我的类项目,我必须制作一个简单的用户名Inventor并将用户名存储在一个文件中。这就是我所做的,它正在发挥作用

项目的另一部分是,如果文件中添加了副本,则需要删除该副本并用“#”替换。但“#”必须位于原来的用户名(即重复的用户名)旁边

请有人告诉我怎么做,作为参考这是我的代码如下:

print("Hello, Welcome to the Username Inventor.")
Name = input("Please tell me, What is your name? ")
print(Name+"......")
print("I like....")
print("Anyway, lets get on shall we.")
with open("Interim.txt", "a") as file:
    true = True
    while true == True:
        choice = input("(1)Add a Pupil's Username to the file\n(2)Exit the program\n")
        if choice == "1":
            true = False
            print("Please identify the following:")
            FirstName = input("Pupil's First Name: ")
            Surname = input("Pupil's Surname: ")
            YearOfEntry = input("Pupil's Year of Entry: ")
            print("Thank you",FirstName, Surname, "from year joining at",YearOfEntry+".")
            Initial = FirstName[0]
            Username = YearOfEntry+Surname+Initial
            print("This Pupil's Username is",Username+".")
            file.write(Username)
            file.write("\n")
            true = True
        if choice == "2":
            print("Thank you", Name+". Goodbye!")
            true = False

非常感谢您的帮助,谢谢


Tags: the项目nametrueinputusernamesurnamefirstname
1条回答
网友
1楼 · 发布于 2024-09-30 00:35:30

您可以使用列表检查新用户名是否已在列表中。创建一个列表并将用户名添加到列表中。在将用户名写入文件之前,请使用“if”语句检查用户名是否已在列表中,如果已在列表中,请使用file.write(“#\n”)或file.write(“用户名”)

替换以下两行:

file.write(Username)
file.write("\n")

用于:

username_list = [] #make empty list before your with open statement.
    ...
    if Username not in username_list:
        file.write('%s\n'%Username)
        username_list.append(Username)

    else:
        file.write('#\n')
        username_list.append("#")

相关问题 更多 >

    热门问题