gpt4 book ai didi

python - 在Python 3.6中如何检查文件中的一行是否有信息?

转载 作者:行者123 更新时间:2023-11-30 22:23:09 25 4
gpt4 key购买 nike

我正在尝试创建一个内存集,保存在存储在不同位置的单独文本文件中。我尝试使用该网站上的一些建议,但也许我的代码有所不同。我正在使用Python 3.6。这是我的代码:

df = open("Memory.txt", 'r')
askforfname = df.readlines()
df.close()
print (askforfname)
if '\n' in open("Memory.txt", 'r').readlines():
df.close()
name = input("What is your name?: \n")
Bigname = name.title()
df = open("Memory.txt", 'w')
df.write(Bigname)
df.close()

else:
df = open("Memory.txt", 'r')
returning_name = df.readlines()
print("Welcome back" + str(returning_name))
df.close()

我在第四行中使用 print(askforfname) 只是为了确保从正确的行读取数据,确实如此。但它只是跳过 if 命令,就好像它结果为 false,并继续执行 else 命令,即使该行是空白的。我只是编程的初学者,了解不多,所以我不知道我是否只是犯了一个简单的错误,哈哈。是的,我知道我的代码一定效率低下,但由于我是新人,这只是我在尝试代码。

最佳答案

names.txt 成为一个简单的 .txt 文件,其中包含一些名称:

ken
dennis
guido
bjarne

假设您是 Bjarne,并且想要检查您的名字是否在文件中。最有效的方法可能是根本不将文件读入内存,而是延迟获取其内容。除此之外,您最好使用 with 上下文管理器,而不是像这样手动管理关闭文件对象:

myself = 'Bjarne'

with open('names.txt', 'r') as f:
for line in f:
if myself.lower() in line:
print('Here am I!')
else:
print('No, this is not me')

关于python - 在Python 3.6中如何检查文件中的一行是否有信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48124647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com