首页 > 解决方案 > 停止程序后是否有保留字/关键字继续?

问题描述

global name_of_file


def create():
    global name_of_file
    enter_name_of_file = str(input("Enter a name of file you want to create: "))
    name_of_file = open(enter_name_of_file+".txt", "w")
    return


create()


def entry_list():
    rep = int(input("How many programming language you want to enter?: "))
    for entry in range(rep):
        file_list = str(input("Enter a programming language: "))
        name_of_file.write(file_list + "\n")
    return

entry_list()


def read():
    global name_of_file
    question = str(input("\nDo you want to read the file? (Y/N): "))
    if question.upper() == "Y" or question.lower() == "y":
        file_name = str(input("Enter the name of the file: "))
        name_of_file = open(file_name, "r")
        print()
        print(name_of_file.read())
        name_of_file.close()
   elif question.upper() == "N" and question.lower() == "n":
        name_of_file.close()
   return


read()

我创建了一个程序来创建一个文件,然后在其中放入一个单词并在之后阅读它。但文件将在所有功能执行后显示。是否有可以停止的代码,以便文件将在条目列表功能之后显示然后继续,以便我可以读取文件?

谢谢!

标签: python-3.x

解决方案


关于你所问的,不,没有......

在任何情况下,文件都是在“代码结束后”创建的,因为您只是在调用 read 函数后才关闭文件。如果您希望预先创建文件,并且能够读取它,则必须刷新或关闭文件句柄

话虽这么说,似乎你需要name_of_file.close()在条目列表函数中的 for 循环之后,在你最终再次打开它之前

还值得指出的是,您的 create 函数将覆盖输入名称的任何现有文件


推荐阅读