2016-11-16 5 views
1

Python - open()을 제외하고 (FileNotFoundError)?

with open(file, 'r') 

FileNotFoundError: [Errno 2] 

를보고 할 수 있습니다하지만 난 어떤 방법으로 그것을 잡아 계속 할 수없는 나에게 이상한 것 같다. 내가 여기에 뭔가를 놓치고 있습니까? 아니면 open()을 사용하기 전에 isfile() 또는 비슷한 것을 사용해야합니까?

+0

[파이썬을 사용하는 동안 문 '과'예외를 잡기]의 사용 가능한 복제 (http://stackoverflow.com/questions/713794/catching-an-exception-while-using-a-python-with -성명서) –

답변

2

사용 try/except 예외 처리하는

try: 
    with open("a.txt") as f : 
     print(f.readlines()) 
except Exception: 
    print('not found') 
    #continue if file not found 
0
from __future__ import with_statement 

try: 
    with open(file) as f : 
     print f.readlines() 
except EnvironmentError: # parent of IOError, OSError *and* WindowsError where available 
    print('oops') 

당신이 작업 코드 대 공모에서 오류에 대한 다른 처리를 원하는 경우에 당신은 할 수 :

try: 
    f = open(file) 
except IOError: 
    print('error') 
else: 
    with f: 
     print(f.readlines()) 
0

당신이 받고있는 경우 FileNotFound 오류가 발생하면 파일 이름이나 파일 경로가 잘못되었을 수 있습니다. 아직 존재하지 않는 파일을 읽고 쓰려면 'r'에서 'w+'으로 모드를 변경하십시오. 또한 유닉스 사용자를위한 파일 전에 전체 경로를 작성하는 데 도움이 될 수

'/Users/paths/file' 

또는 더 나은 아직, 우리가을 os.path 경로가 다른 운영 체제에서 실행 될 수 있도록.

import os 
with open(os.path.join('/', 'Users', 'paths', 'file'), 'w+) 
관련 문제