我不明白 if 语句的行为[关闭]

问题描述 投票:0回答:1
if  files_saved.read().find(file_name) == -1:
    delete_file_content = open(file_name + ".txt", "w")
    delete_file_content.close()
    text_file = open(file_name + ".txt", "r+")
    text_file.write(text_to_save)
else:
    print("Hello World")
    text_file = open(file_name + ".txt", "a")
    text_file.write(self.textbox.get("1.0", tk.END))
    files_saved.write(file_name + ".txt ; ")

files_saved 是一个 .txt 文件,我在其中保存迄今为止保存的所有文件名。如果我输入的文件名已经在files_saved中,则不会创建新文件,因此,不会将该文件名添加到files_saved中。为此,我使用 if 语句。 “if files_saved.read().find(file_name) == -1:” 根据我的理解,这表示“如果文件名不在 files_saved 中,则执行此操作:我不知道为什么,但它的行为不是那样的。相反,如果文件名在 files_saved 中,那就是真的。我当然同意,但是,我不明白它。

我就是不明白

python if-statement
1个回答
0
投票

尝试使用此方法:

  1. 使用with as语句:
    with open('file_location', "r") as f
    ,然后检查
    file_name
    是否在
    file.read()
    中,这样更好,因为退出with块后它会自动关闭文件。
  2. 在运行 if-else 语句之前将文件光标重置到开头,您可以通过在 if-else 块之前运行
    files_saved.seek(0)
    来完成此操作。
© www.soinside.com 2019 - 2024. All rights reserved.