트레이 허너: 파이썬의 sys 모듈 재구성 노트

트레이 허너: 파이썬의 sys 모듈 재구성

파이썬의 sys 모듈은 여러 잡다한 항목들을 담고 있는 "잡동사니 서랍"으로 묘사됩니다. 이 글은 오늘날 처음부터 설계된다면 sys 모듈이 어떻게 보일지 탐구합니다. 현재 sys는 백 개 이상의 속성을 가지고 있으며, 그중 상당수가 함수여서 네임스페이스가 혼잡합니다. 이를 해결하기 위해 저자는 sys를 아홉 개의 하위 모듈로 재구성할 것을 제안합니다.제안된 하위 모듈에는 명령줄 인수를 위한 sys.cli, 모듈 관련 함수를 위한 sys.imports, 표준 입출력을 위한 sys.io, 대화형 프롬프트 설정을 위한 sys.repl, 시스템 및 설치 세부 정보를 위한 sys.interpreter, 메모리 관리 도구를 위한 sys.memory, 예외 처리를 위한 sys.exceptions, 프로파일링 및 인트로스펙션을 위한 sys.profile, 인터프리터 동작을 위한 sys.runtime이 포함됩니다. 이러한 제안된 하위 모듈 내의 일부 속성은 기존 표준 라이브러리 모듈과 유사점을 가지고 있어 추가적인 재구성을 시사합니다.이 글은 이러한 재구성을 실제로 구현하는 데 따르는 상당한 어려움을 인정합니다. 주로, 전환 기간과 현재 sys의 평면적인 네임스페이스에 의존하는 기존 코드의 하위 호환성 유지가 주요 장애물입니다. 모듈 수준의 속성 처리를 포함하는 기술적 해결책이 논의되며, 호환성을 위해 이전의 평면적인 네임스페이스를 어떻게 보존할 수 있는지 보여줍니다. 그러나 저자는 방대한 양의 기존 코드와 파이썬 커뮤니티가 꼭 필요한 경우가 아니면 이러한 근본적인 변경을 꺼리는 일반적인 성향 때문에 이러한 재구성이 결코 일어나지 않을 것이라고 회의적입니다. 개발자들에게 주요 시사점은 하위 모듈이 큰 "utils" 모듈에 유용한 구성 도구가 될 수 있다는 것입니다.