我想搜索一个特定单词的txt文件并打印整个lin

2024-04-18 06:30:06 发布

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

我的代码当前为:

admin_username_choice = input("Enter the user's username: ")
with open("data.txt") as f:
    line = f.read().split()
for line in f:
    if admin_username_choice in line:
        print(line)
    else:
        print("Incorrect information")

但是这个打印出来-对于f行: ValueError:对关闭的文件执行I/O操作。你知道吗

有人能告诉我我做错了什么吗?你知道吗


Tags: the代码intxtinputdataadminwith
3条回答

试试这个

admin_username_choice = input("Enter the user's username: ")
lines='' #just to initialize "lines" out of the with statement 
with open("data.txt") as f:
    lines = f.read().split()
#"f" becomes "lines" here. You will already have closed "f" at this point
for line in lines:
    if admin_username_choice in line:
        print(line)
    else:
        print("Incorrect information")

您的缩进块已关闭。转到for块时,with语句关闭文件。这段代码应该是你想要的。你知道吗

admin_username_choice = input("Enter the user's username: ")
with open("data.txt") as f:
    for line in f:
        if admin_username_choice in line.split():
            print(line)
        else:
            print("Incorrect information")

with关闭文件,从而使其余代码无法访问该文件。您可能需要检查缩进。你知道吗

admin_username_choice = input("Enter the user's username: ")
with open("data.txt") as f:
    line = f.read().split()
    if admin_username_choice in line:
        print(line)
    else:
        print("Incorrect information")

相关问题 更多 >