다음 코드를 자주 작성합니다.파이썬 3 : 로그 함수 서명 문제
print('object', 'moved', 'from =', object.location, 'dest =', new_location)
print('object', 'created', 'at =', object.location, 'status =', status)
등등.
이 모든 것을 함수 log
로 바꿀 계획이었습니다.
def log(self, action, **details):
print('object', action, end = '')
for var, value in state.items():
print(var, '=', value, end = '')
print()
이 은 거의 두 가지 문제가 있습니다. 첫째, 출력 순서를 제어 할 수 없기 때문에 나에게 중요합니다. 물론 details
은 사전 일 뿐이므로 매개 변수의 순서는 손실됩니다. 둘째, 키워드 키워드의 이름으로 from
과 같은 언어 키워드를 사용할 수 없습니다.
불필요한 자세한 정보를 피할 수 있지만 이러한 문제가 발생하지 않는 솔루션이 있습니까?
log
기능을 사용하고자하는 이유는이 기능을 비활성화/활성화하거나 단일 위치에서 형식을 변경하고자 할 수 있기 때문입니다.
로깅 모듈을 확인하는 것이 좋습니다. Vinay는 좋은 방법을 썼습니다.이 방법을 사용하면 훨씬 쉽게 접근 할 수 있습니다. http://docs.python.org/3.2/howto/logging.html – ncoghlan