我需要创建一个名为open_file(message)
的函数,该函数提示用户反复输入文件名,直到打开正确的名称为止。如果未输入名称(空字符串),则默认文件必须是名为pass.txt
的文件。
我尝试将while
和try
方法与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
预期结果是打开用户输入的文件名或打开默认文件,同时如果找不到或打开输入的文件名,则反复提示输入正确的文件名。
答案 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