Rumah > pembangunan bahagian belakang > Tutorial Python > Apakah yang dilakukan oleh Suis `-m` dalam Python?

Apakah yang dilakukan oleh Suis `-m` dalam Python?

Barbara Streisand
Lepaskan: 2024-11-29 03:15:10
asal
749 orang telah melayarinya

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

Apakah Peranan Suis -m?

Pengenalan

The -m pilihan memanjangkan keupayaan Python, membolehkan fleksibiliti dalam pelaksanaan dan pembangunan modul. Ia menjalankan tiga peranan utama:

1. Perlaksanaan Modul oleh Nama Modul

python -m menawarkan alternatif kepada python untuk melaksanakan modul. Ia bergantung pada keupayaan Python untuk memetakan nama modul kepada nama fail, menjadikannya mudah untuk melaksanakan modul tanpa mengetahui lokasi tepatnya.

2. Resolusi Laluan Modul Dipertingkat

Apabila menggunakan -m, direktori kerja semasa ditambahkan pada sys.path. Ini membolehkan modul diimport daripada direktori semasa, membolehkan pelaksanaan pakej tempatan tanpa memerlukan pemasangan.

3. Sokongan untuk Import Relatif dan Mutlak

-m mengendalikan kedua-dua import mutlak dan relatif semasa melaksanakan modul. Ini membolehkan pembangun menggunakan import dengan cara yang sama tidak kira sama ada modul dilaksanakan daripada baris arahan atau melalui pernyataan import.

Pembangunan Sejarah

Pada mulanya, - m hanya menyokong nama modul peringkat atasan. Dengan PEP 338, ia diperluaskan untuk memasukkan submodul dan permulaan pakej induk. Akhirnya, PEP 366 memperkenalkan sokongan untuk import relatif yang jelas.

Kes Penggunaan

-m cemerlang dalam dua senario:

  • Melaksanakan modul dengan nama fail yang tidak diketahui (mis., perpustakaan standard atau pihak ketiga modul).
  • Menjalankan pakej tempatan dengan import mutlak atau relatif tanpa pemasangan (dicapai dengan menambahkan direktori semasa pada sys.path).

Penghadan

-m mempunyai satu had yang ketara: ia hanya boleh melaksanakan modul kod Python (*.py). Modul kod yang disusun C tidak akan berjalan dengan jayanya menggunakan -m.

Perbandingan dengan Kaedah Pelaksanaan Modul Lain

'__main__'
Kaedah Pelaksanaan Pengubahsuaian 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)
nama Tetapan
pakej Tetapan init Penilaian utama Penilaian
Penyata Import Tiada perubahan Nama modul mutlak Pakej induk Ya (pakej sahaja) Tidak (pakej sahaja)
Baris Perintah dengan Nama Fail Direktori akhir nama failTiada Tidak (semua modul) Ya (modul pakej)
Barisan Perintah dengan Nama Modul (-m) Direktori semasa '__main__' Pakej induk Ya (pakej sahaja) Ya (modul pakej)

Kesimpulan

Suis -m memperkasakan pembangun dengan alat serba boleh untuk pelaksanaan dan pembangunan modul. Ia memberikan fleksibiliti dalam carian modul, menyokong resolusi laluan dinamik dan memudahkan pelaksanaan lancar kod Python kompleks.

Atas ialah kandungan terperinci Apakah yang dilakukan oleh Suis `-m` dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan