検索
ホームページバックエンド開発Python チュートリアルPython で「-m」スイッチは何をしますか?

What Does the `-m` Switch Do in Python?

-m スイッチの役割は何ですか?

概要

-m スイッチオプションは Python の機能を拡張し、モジュールの実行と開発における多用途性を可能にします。これは 3 つの主要な役割を果たします:

1. Modulename

python -m によるモジュールの実行Python の代替手段を提供します。モジュールを実行するため。これは、モジュール名をファイル名にマッピングする Python の機能に依存しているため、正確な場所を知らなくてもモジュールを実行するのに便利です。

2.拡張モジュール パス解決

-m を使用すると、現在の作業ディレクトリが sys.path に追加されます。これにより、モジュールを現在のディレクトリからインポートできるようになり、インストールせずにローカル パッケージを実行できるようになります。

3.相対インポートと絶対インポートのサポート

-m は、モジュールの実行時に絶対インポートと相対インポートの両方を処理します。これにより、開発者は、モジュールがコマンド ラインから実行されるかインポート ステートメントを介して実行されるかに関係なく、同じ方法でインポートを使用できます。

歴史的開発

初期状態では、 - m はトップレベルのモジュール名のみをサポートしていました。 PEP 338 では、サブモジュールと親パッケージの初期化が含まれるように拡張されました。最後に、PEP 366 では、明示的な相対インポートのサポートが導入されました。

ユースケース

-m は、次の 2 つのシナリオで優れています。

  • モジュールの実行不明なファイル名 (標準ライブラリまたはサードパーティなど)
  • インストールせずに絶対または相対インポートを使用してローカル パッケージを実行します (現在のディレクトリを sys.path に追加することで実現します)。

制限事項

-m には 1 つの重大な制限があります。それは、Python コード モジュール (*.py) のみを実行できるということです。 C でコンパイルされたコード モジュールは、-m を使用すると正常に実行されません。

他のモジュール実行メソッドとの比較

'__main__'
実行メソッド sys.path 変更
Execution Method sys.path Modification name Setting package Setting init Evaluation main Evaluation
Import Statement No change Absolute modulename Parent package Yes (packages only) No (packages only)
Command Line with Filename Final directory of filename '__main__' None No (all modules) Yes (package modules)
Command Line with Modulename (-m) Current directory '__main__' Parent package Yes (packages only) Yes (package modules)
name設定
パッケージ 設定 init 評価 main 評価
インポート ステートメント 変更なし 絶対modulename 親パッケージ はい (パッケージのみ) いいえ (パッケージのみ)
コマンド ラインファイル名付き ファイル名の最終ディレクトリ '__main__' なし いいえ (すべてmodules) はい (パッケージ モジュール)
モジュール名 (-m) を指定したコマンド ライン 現在のディレクトリ親パッケージ はい (パッケージのみ) はい (パッケージモジュール)

結論

-m スイッチにより、開発者はモジュールの実行と開発のための多用途ツールを利用できるようになります。モジュール検索の柔軟性を提供し、動的なパス解決をサポートし、複雑な Python コードのシームレスな実行を容易にします。

以上がPython で「-m」スイッチは何をしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
2時間のPython計画:現実的なアプローチ2時間のPython計画:現実的なアプローチApr 11, 2025 am 12:04 AM

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Python:主要なアプリケーションの調査Python:主要なアプリケーションの調査Apr 10, 2025 am 09:41 AM

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間でどのくらいのPythonを学ぶことができますか?2時間でどのくらいのPythonを学ぶことができますか?Apr 09, 2025 pm 04:33 PM

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?Apr 02, 2025 am 07:15 AM

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Apr 02, 2025 am 07:12 AM

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの精度を改善する方法は?風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの精度を改善する方法は?Apr 02, 2025 am 07:09 AM

風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの問題を解決する方法は?風光明媚なスポットコメントと分析を行っているとき、私たちはしばしばJieba Wordセグメンテーションツールを使用してテキストを処理します...

正規表現を使用して、最初の閉じたタグと停止に一致する方法は?正規表現を使用して、最初の閉じたタグと停止に一致する方法は?Apr 02, 2025 am 07:06 AM

正規表現を使用して、最初の閉じたタグと停止に一致する方法は? HTMLまたは他のマークアップ言語を扱う場合、しばしば正規表現が必要です...

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)