imaplib
라이브러리를 사용하여 IMAP 서버의 일부 데이터를 요청하는 스크립트를 작성하고 있습니다. 연결 (c
), 나는 다음과 통화를 할을 시작한 데 :개별 함수 호출을 파이썬으로 둘러보기
rv, data = c.login(EMAIL_ACCOUNT, EMAIL_PASS)
if rv != 'OK':
print('login error')
else:
print(rv, data)
rv, mailboxes = c.list()
if rv != 'OK':
print('mailbox error')
else:
print(rv, data)
rv, data = c.select(EMAIL_FOLDER)
if rv != 'OK':
print('folder error')
else:
print(rv, data)
어떻게 오류 코드를 확인하고 데이터를 인쇄하는 로직을 재사용 할 수 래퍼 함수의 일종을 사용하려면이를 다시 작성할 수 있을까? 나는 함수가 인수로서 오류 메시지를 취할 것이며 실행 명령 (select
, login
, 등)이 있다고 가정합니다. 인수에 인수의 이름을 전달하여 선택 연결 함수를 호출하려면 어떻게해야합니까?
당신이 무엇을 요구하는지 명확하지 않습니다. 예, 래퍼 함수 ('rv, data = handle_error (c.login (...))')를 작성하거나 메소드 이름에 다른 함수를 전달할 수 있습니다. 무엇을 시도 했습니까? 문제는 무엇입니까? – jonrsharpe
'def check (rv, data, msg) : ...'그리고'check (rv, data, 'folder error')'로 사용 하시겠습니까? – Bakuriu
@jonrsharpe 기본적으로,이 작업을 (select, list, login) 조치와 함께 오류 메시지와 함께 인수로 사용하는 단일 함수로 단순화하려고합니다. "handle"함수에 인수로 함수 호출 (예 :'c.list()')을 전달할 수 있습니까? – mart1n