python -m mymod1 mymod2.py args 및 python mymod1이 일반적으로 관찰됩니다. py mymod2.py args 명령은 둘 다 일치하는 sys.argv와 함께 mymod1.py를 실행합니다. 그러나 -m 스위치는 파일 이름에서 모듈 이름으로의 변환 이상의 다양한 추가 기능을 제공합니다.
-m 플래그는 파일 이름이 아닌 모듈 이름을 사용하여 명령줄에서 직접 Python 모듈을 호출하는 대체 방법으로 사용됩니다. 이는 파일 이름을 알 수 없는 표준 라이브러리 모듈이나 타사 패키지를 실행하는 데 특히 유용합니다. 예를 들어 http.server 모듈을 실행하려면 python -m http.server.
-m 스위치를 활용하면 모듈을 호출할 뿐만 아니라 현재 디렉터리를 포함하도록 sys.path를 수정합니다. 이는 Python mymod1.py를 사용할 때 없는 기능입니다. 이를 통해 설치 없이 상대 가져오기가 포함된 로컬 패키지를 실행할 수 있습니다.
sys.path에 현재 디렉터리를 추가하는 것 외에도 -m을 사용하면 상대 가져오기를 사용하여 모듈을 실행할 수 있습니다. 이는 __package__ 변수를 지정된 모듈 이름의 상위 모듈로 설정하여 상대 가져오기가 의도한 대로 작동하도록 함으로써 달성됩니다.
3种n 간의 차이점을 설명하려면 Python 모듈을 호출하는 방법에 대한 다음 표는 핵심을 나타냅니다. 속성:
Invocation Method | sys.path Modification | name | package |
---|---|---|---|
import |
None | Absolute form of |
Immediate parent package |
python |
Includes final directory in |
'__main__' | None |
python -m |
Includes current directory | '__main__' | Immediate parent package |
파이썬의 -m 스위치는 단순히 파일 이름을 모듈 이름으로 변환하는 것 이상의 다양한 기능을 제공하는 다용도 도구입니다. 명령줄에서 모듈을 실행하고, 관련 가져오기를 처리하고, 로컬 패키지를 sys.path에 통합하는 원활한 방법을 제공합니다. 이는 로컬 및 외부에서 Python 모듈을 사용하는 개발자에게 유용한 도구입니다.
위 내용은 Python 모듈 실행 시 `python -m`과 `python`의 주요 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!