-m 스위치의 역할은 무엇인가요?
소개
-m 옵션은 Python의 기능을 확장하여 모듈 실행 및 개발의 다양성을 가능하게 합니다. 세 가지 주요 역할을 수행합니다:
1. 모듈 이름별 모듈 실행
python -m
2. 향상된 모듈 경로 확인
-m을 사용하면 현재 작업 디렉터리가 sys.path에 추가됩니다. 이를 통해 현재 디렉터리에서 모듈을 가져올 수 있으므로 설치 없이 로컬 패키지를 실행할 수 있습니다.
3. 상대 및 절대 가져오기 지원
-m은 모듈 실행 시 절대 및 상대 가져오기를 모두 처리합니다. 이를 통해 개발자는 모듈이 명령줄에서 실행되거나 import 문을 통해 실행되는지에 관계없이 동일한 방식으로 가져오기를 사용할 수 있습니다.
역사적 개발
처음에는 - m은 최상위 모듈 이름만 지원합니다. PEP 338에서는 하위 모듈과 상위 패키지 초기화를 포함하도록 확장되었습니다. 마지막으로 PEP 366은 명시적 상대 가져오기에 대한 지원을 도입했습니다.
사용 사례
-m은 두 가지 시나리오에서 탁월합니다.
제한 사항
-m에는 한 가지 중요한 제한이 있습니다. Python 코드 모듈(*.py)만 실행할 수 있습니다. -m을 사용하면 C 컴파일 코드 모듈이 성공적으로 실행되지 않습니다.
다른 모듈 실행 방법과 비교
실행 방법 | sys.path 수정 |
|
패키지 설정 | init 평가 | main 평가 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
가져오기 설명 | 변경 없음 | 절대 모듈 이름 | 상위 패키지 | 예(패키지만) | 아니요(패키지만) | ||||||||||||||||||||||||
명령줄 파일 이름 포함 | 파일 이름의 최종 디렉터리 | '__main__' | 없음 | 아니요(모두 모듈) | 예(패키지 모듈) | ||||||||||||||||||||||||
모듈 이름이 포함된 명령줄(-m) | 현재 디렉터리 | '__main__'상위 패키지 | 예(패키지만) | 예(패키지 모듈) |
결론
-m 스위치는 개발자에게 모듈 실행 및 개발을 위한 다양한 도구를 제공합니다. 모듈 조회에 유연성을 제공하고 동적 경로 확인을 지원하며 복잡한 Python 코드의 원활한 실행을 촉진합니다.
위 내용은 Python에서 `-m` 스위치는 무엇을 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!