다양한 나이의 서버 중 다양한 버전의 Python을 실행하고 있습니다. 이 서버에서는 MySQL 상호 작용이 필요한 스크립트를 실행하고 있습니다. Python MySQLdb 모듈을 사용하는 래퍼 클래스를 작성했지만 이전 서버에서는이 모듈이 존재하지 않습니다. 이 문제를 해결하기 위해, 서버에 MySQL 모듈이 있는지 찾아보고 싶습니다. 그렇다면 일반적으로 내 래퍼 클래스를 사용하고 그렇지 않으면 bash를 사용하여 작성한 백업 MySQL 클래스로 전환하십시오.Python 클래스 선택
내 질문은 :이 두 클래스 사이를 전환하는 우아한 방법이 있습니까?
내가 생각할 수있는 유일한 방법은 MySQLdb 모듈이로드되었는지 여부에 따라 다른 기능을 전환하는 MySQL 래퍼 클래스 내에 "if"문을 여러 개 가지는 것입니다. 중요한 점은 스크립트가 두 클래스 중 어느 클래스를 사용하는지 알지 못하기 때문에 스크립트 자체의 코드는 관계없이 동일해야합니다. 나는 파이썬에 익숙하지 않기 때문에 사전에 도움을 주셔서 감사합니다. 두 모듈이 동일한 API가있는 경우
"이 서버에서 ...."스크립트는 파이썬으로 작성 되었습니까? 그렇다면 파이썬에서 상속을 사용할 수 있습니다. 이렇게하면 혼란이 줄어들고 if-else를 간접 기반 호출로 변경할 수 있습니다. 고전적인 디자인 패턴 원리. –