2016-11-13 1 views
1

새로운 프로그래머가 여기 있습니다. 내가 가지고있는 코드로 시작하겠습니다.사용자에게 파일을 계속 요청하는 방법

try: 
    f = input("Please type in the path to your file and press 'Enter'") 
    file = open(f,'r') 
except FileNotFoundError: 
    f = input("File not found please try again.") 

사용자가 잘못된 파일을 입력하면 사용자에게 다시 시도하도록 요청하는 것입니다. 어쩌면 내가 try/except를 사용해서는 안되는가?

답변

2

루프를 while 루프 내에 삽입합니다. 파일이 성공적으로 열리면 break.

while True: 
    try: 
     f = input("Please type in the path to your file and press 'Enter'") 
     file = open(f, 'r') 
     break 
    except FileNotFoundError: 
     print('File not found') 

참고 : -

+0

감사 당신은 (때문에 permsssion, 잘못된 파일 형식 .. 당신이하지 수 수도를 열고, 파일이, 비록) IOError 같은 다른 예외를 처리해야 할 수도 있습니다 너, 내가 그렇게 할거야! 내가 8 분을 기다려야한다고 말하고 있지만. 또한 IOError를 대상으로하고 싶다면 바로 다른 예외를 만들 것입니다. – Blakester

+1

'IOException : IOException '을'FileNotFoundError'와 다르게 처리하고 싶다면'IOError :를 제외하고'또 하나. 또는'except (FileNotFoundError, IOException) :'같은 방법으로 처리하고 싶다면. – falsetru

관련 문제