需要使用Python帮助从.txt文件中获取信息,但前提是输入的单词已经存在

需要使用Python帮助从.txt文件中获取信息,但前提是输入的单词已经存在,python,file,text,extract,Python,File,Text,Extract,所以我基本上需要检查.txt文件中是否存在用户名。如果是,则需要打印包含名称的行。如果没有,则需要添加名称 我已经把这个名字复制到了.txt文件中,但是如果这个名字已经存在的话,它也会写下这个名字。这是不应该的 这是我的当前代码: f = open("list_users.txt", "a+") name = input('Enter your username: ') if name in f: print('true') else: f.write(name) f.w

所以我基本上需要检查.txt文件中是否存在用户名。如果是,则需要打印包含名称的行。如果没有,则需要添加名称

我已经把这个名字复制到了.txt文件中,但是如果这个名字已经存在的话,它也会写下这个名字。这是不应该的

这是我的当前代码:

f = open("list_users.txt", "a+")
name = input('Enter your username: ')
if name in f:
    print('true')
else:
    f.write(name)
    f.write('\n')
f.close()

我知道这是很基本的,但我似乎没有比这更进一步的了。我不知道如何从文件中获取信息,我甚至无法检查它是否已经存在

此代码不读取文件,只是打开它

name = input('Enter your username: ')
with open('list_users.txt', 'a+') as f:
    users = f.read()
    if name in users:
        print('true')
    else:
       f.write(naam)
       f.write('\n')

此代码不读取文件,只是打开它

name = input('Enter your username: ')
with open('list_users.txt', 'a+') as f:
    users = f.read()
    if name in users:
        print('true')
    else:
       f.write(naam)
       f.write('\n')

以下是问题所在

if name in f:
在这里,您要检查
名称是否在“文件对象”中,而不是在行中检查它

像这样更改代码

name = input('Enter your username: ')
with open("list_users.txt", "r+") as f:
    for line in f.readlines():
        if name in line:
            print('true')
            break

    f.write(name + '\n')

以下是问题所在

if name in f:
在这里,您要检查
名称是否在“文件对象”中,而不是在行中检查它

像这样更改代码

name = input('Enter your username: ')
with open("list_users.txt", "r+") as f:
    for line in f.readlines():
        if name in line:
            print('true')
            break

    f.write(name + '\n')
挑一个