Python -m スイッチの謎を解明する
はじめに
Python -m スイッチは、モジュールを実行し、利便性と高度な機能の両方を提供します。この記事では、-m の目的、その歴史的進化、およびその主要なアプリケーションを詳しく掘り下げ、モジュールの実行に対するその影響を解明します。
-m の機能
-
Module Execution via Modulename: モジュール名に関係なく、モジュール名を指定することでモジュールの実行を有効にします。ファイル名、コマンドラインの実行を簡素化します。
-
sys.path 追加: sys.path を変更して現在のディレクトリを含め、ローカル パッケージの実行を支援します。
-
相対インポートのサポート: コマンドから実行した場合でも、実行されたモジュールでの明示的な相対インポートを許可します。 line.
履歴コンテキスト
- モジュール実行用のファイル名指定の代替手段を提供するために最初に使用されました。
- サポートまで拡張されましたネストされたモジュール名と親パッケージの評価。
- 次の機能を獲得しました。相対インポートを処理し、使いやすさを向上させます。
詳細な比較
実行メソッド |
sys 。パス変更 |
Execution Method |
sys.path Modification |
name |
package |
init Evaluation |
main Evaluation |
Import Statement |
None |
Absolute Modulename |
Parent Package |
Yes (All) |
No (Code Modules) |
Filename (python ) |
Module Directory |
'__main__' |
None |
No |
Yes (Package Modules) |
Modulename (python -m ) |
Current Directory |
'__main__' |
Parent Package |
Yes (All) |
Yes (Package Modules) |
名前
|
パッケージ |
init
|
main 評価 |
インポートステートメント |
なし |
絶対モジュール名 |
親パッケージ |
はい (すべて) |
いいえ (コード モジュール) |
ファイル名 (python )
|
モジュールディレクトリ |
'__main__' |
なし |
いいえ |
はい (パッケージ モジュール) |
モジュール名 (python -m ) |
現在のディレクトリ |
'__main__' |
親パッケージ |
はい (すべて) |
はい (パッケージ モジュール) |
ユースケースファイル名を知らずに標準ライブラリまたはサードパーティ モジュールを実行します。
絶対パスを使用してローカル パッケージを実行します。またはインストールなしの相対インポート。-
欠点
Python で書かれたモジュール (.py ファイル) のみを実行します。
結論-mスイッチは Python の多用途性を拡張し、コマンド ラインからのモジュールのシームレスな実行を可能にし、相対インポートなどの高度な機能を有効にします。その包括的な機能を理解することで、開発者は -m の機能を活用してモジュール実行ワークフローを合理化できます。以上がPython の `-m` スイッチは何をし、どのように使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。