Menyenaraikan Modul Diimport dalam Python
Menyenaraikan semua modul yang diimport dalam skrip Python boleh berguna untuk pelbagai tujuan, seperti nyahpepijat atau menganalisis kebergantungan . Untuk mencapai matlamat ini, terdapat beberapa pendekatan untuk diterokai.
Satu kaedah mudah melibatkan memanfaatkan kamus sys.modules. Dengan mengakses sys.modules.keys(), anda boleh mendapatkan semula senarai rentetan yang mewakili nama semua modul yang diimport. Sebagai contoh, jika anda mempunyai kod berikut:
<code class="python">import os import sys</code>
Anda boleh mendapatkan senarai modul yang diimport seperti berikut:
<code class="python">module_names = sys.modules.keys() print(module_names)</code>
Pendekatan ini menyenaraikan semua modul yang diimport pada skop global dengan berkesan . Walau bagaimanapun, perlu diingat bahawa ia tidak termasuk modul yang diimport dalam fungsi atau kelas tertentu dalam skrip yang sama.
Untuk paparan yang lebih komprehensif yang merangkumi modul yang diimport secara tempatan, anda boleh memeriksa fungsi globals(). Fungsi ini mengembalikan kamus semua pembolehubah global dalam skop semasa. Anda kemudian boleh menggunakan kamus ini untuk mengenal pasti modul dengan menyemak jenisnya menggunakan isinstance(val, types.ModuleType).
Berikut ialah contoh kod:
<code class="python">import types def imports(): for name, val in globals().items(): if isinstance(val, types.ModuleType): yield val.__name__</code>
Memanggil fungsi import() akan ulangi pembolehubah global dan hasilkan nama semua modul yang diimport. Perlu diingat bahawa kaedah ini tidak mengambil kira import tempatan atau import bukan modul seperti dari x import y.
Secara keseluruhannya, dengan memanfaatkan kamus sys.modules atau fungsi globals(), anda boleh menghitung dengan berkesan semua modul yang diimport dalam Python, memberikan fleksibiliti bergantung pada kedalaman maklumat yang anda perlukan.
Atas ialah kandungan terperinci Cara Menyenaraikan Modul yang Diimport dalam Python: sys.modules vs. globals(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!