使用try-except打开文件

时间:2019-04-05 23:12:28

标签: python user-input try-except

我需要创建一个名为open_file(message)的函数,该函数提示用户反复输入文件名,直到打开正确的名称为止。如果未输入名称(空字符串),则默认文件必须是名为pass.txt的文件。

我尝试将whiletry方法与except循环一起使用。我对如何定义函数感到困惑。

def open_file(message):
    '''Put your docstring here'''

    filename = input("Enter the name of the file: ")
    while True:
        if filename == "" or filename == " ":
            filename = "pass.txt"
            fileopen = open("pass.txt", "r")
            break
        else:
            try:
                fileopen = open(filename, "r")
                break
            except FileNotFoundError:
                print("file not found, try again.")
                print(filename)  
    return fileopen

预期结果是打开用户输入的文件名或打开默认文件,同时如果找不到或打开输入的文件名,则反复提示输入正确的文件名。

1 个答案:

答案 0 :(得分:1)

在while循环内移动输入语句

编辑:如果不需要,请删除功能参数“消息”

def open_file():
    '''Put your docstring here'''

    while True:
        filename = input("Enter the name of the file: ")
        if filename == "" or filename == " ":
            filename = "pass.txt"
            fileopen = open("pass.txt", "r")
            break
        else:
            try:
                fileopen = open(filename, "r")
                break
            except FileNotFoundError:
                print("file not found, try again.")
                print(filename)  
    return fileopen