我希望用户输入目录的路径作为输入。程序应检查此路径是否确实存在。如果路径存在,则应执行其余代码。
如果该路径不存在,则应打印该路径为不存在的路径,我希望它再次请求用户输入路径,直到用户输入存在的路径为止。
我已经用while循环,try和except以及if和else语句尝试了它,但是我不能使它没有错误。
这是我当前的代码:
i = 0
while i<1:
input = input("Please enter path to directory: ")
if os.path.exists(input) == False:
print("This path does not exist")
elif os.path.exists(input) == True:
os.chdir(input)
execute_code(input)
i +=1
如果用户输入现有路径,则一切正常,但如果该路径不存在,则会打印出该路径不存在,但会显示错误,并且不会再次请求输入。
我需要更改什么,以便程序再次要求用户输入?
答案 0 :(得分:3)
很少有指针需要照顾:
elif
条件,因为os.path.exists(input_path)
只能有两个返回值,分别为True或False 下面是更新的代码
while True:
input_path = input("Please enter path to directory: ")
if not os.path.exists(input_path):
print("This path does not exist")
else:
os.chdir(input_path)
execute_code(input_path)
break
希望这会有所帮助!
答案 1 :(得分:1)
您可以使用continue
开始循环,并使用break
退出循环:
while True:
user_input = input("Please enter path to directory: ")
if os.path.exists(user_input) == False:
print("This path does not exist")
continue # it will start from loop begining
os.chdir(user_input)
execute_code(user_input)
break # exit loop