728x90
반응형
질문 : 파이썬 예외 메시지 캡처
import ftplib
import urllib2
import os
import logging
logger = logging.getLogger('ftpuploader')
hdlr = logging.FileHandler('ftplog.log')
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
logger.setLevel(logging.INFO)
FTPADDR = "some ftp address"
def upload_to_ftp(con, filepath):
try:
f = open(filepath,'rb') # file to send
con.storbinary('STOR '+ filepath, f) # Send the file
f.close() # Close file and FTP
logger.info('File successfully uploaded to '+ FTPADDR)
except, e:
logger.error('Failed to upload to ftp: '+ str(e))
이것은 작동하지 않는 것 같습니다. 구문 오류가 발생합니다. 모든 종류의 예외를 파일에 기록하는 데 적절한 방법은 무엇입니까?
답변
포착하려는 예외 유형을 정의해야합니다. 따라서 except Exception, e:
대신 except, e:
일반 예외 (어쨌든 기록 될 것임)에 대해 작성하십시오.
다른 가능성은 다음과 같이 전체 try / except 코드를 작성하는 것입니다.
try:
with open(filepath,'rb') as f:
con.storbinary('STOR '+ filepath, f)
logger.info('File successfully uploaded to '+ FTPADDR)
except Exception, e: # work on python 2.x
logger.error('Failed to upload to ftp: '+ str(e))
Python 3.x 및 최신 버전의 Python 2.x에서는 except Exception as e
를 except Exception, e
.
try:
with open(filepath,'rb') as f:
con.storbinary('STOR '+ filepath, f)
logger.info('File successfully uploaded to '+ FTPADDR)
except Exception as e: # work on python 3.x
logger.error('Failed to upload to ftp: '+ str(e))
출처 : https://stackoverflow.com/questions/4690600/python-exception-message-capturing
728x90
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
파이썬 객체에 어떤 메서드가 있는지 찾기 (0) | 2021.11.29 |
---|---|
Python : 어떤 OS에서 실행 중인지 확인하는 방법 (0) | 2021.11.26 |
저장된 csv에서 Python / Pandas가 색인을 생성하지 않도록 하는 방법 (0) | 2021.11.26 |
Python virtualenv를 leave/exit/deactivate 하는 방법 (0) | 2021.11.26 |
Python string.replace 정규식 (0) | 2021.11.24 |