GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • فهرست مطالب
  • pkgutil --- ابزار گسترش بسته
  • runpy --- یافتن و اجرای ماژول‌های پایتون
  • گزارش یک اشکال
  • بهبود این صفحه
  • نمایش منبع
  • نمایش منبع ترجمه
  • اندیس
  • ماژول‌ها
  • Python
  • 3.15.2 documentation
  • کتابخانه‌ی استاندارد پایتون
  • ایمپورت ماژول‌ها

This view

  • Original page
  • New address

GeezerVison is showing python.github.io — modulefinder --- یافتن ماژول‌های استفاده‌شده توسط یک اسکریپت

modulefinder --- یافتن ماژول‌های استفاده‌شده توسط یک اسکریپت¶

کد منبع: Lib/modulefinder.py


این ماژول یک کلاس ModuleFinder را ارائه می‌دهد که می‌توان از آن برای تعیین مجموعه ماژول‌های ایمپورت‌شده توسط یک اسکریپت استفاده کرد. همچنین می‌توان modulefinder.py را به‌عنوان یک اسکریپت اجرا کرد، به‌طوری که نام پرونده یک اسکریپت پایتون به‌عنوان آرگومان آن داده شود؛ پس از آن، گزارشی از ماژول‌های ایمپورت‌شده چاپ خواهد شد.

modulefinder.AddPackagePath(pkg_name, path)¶

ثبت کنید که بسته‌ای به نام pkg_name را می‌توان در path مشخص‌شده یافت.

modulefinder.ReplacePackage(oldname, newname)¶

به شما امکان می‌دهد مشخص کنید که ماژولی به نام oldname در واقع بسته‌ای به نام newname است.

class modulefinder.ModuleFinder(path=None, debug=0, excludes=[], replace_paths=[])¶

این کلاس، متدهای run_script() و report() را برای تعیین مجموعه‌ای از ماژول‌های ایمپورت‌شده توسط یک اسکریپت فراهم می‌کند. path می‌تواند فهرستی از پوشه‌ها برای جست‌وجوی ماژول‌ها باشد؛ اگر مشخص نشده باشد، از sys.path استفاده می‌شود. debug سطح اشکال‌زدایی را تنظیم می‌کند؛ مقادیر بالاتر باعث می‌شود که کلاس پیام‌های اشکال‌زدایی درباره‌ی آنچه انجام می‌دهد را چاپ کند. excludes فهرستی از نام ماژول‌ها برای حذف از تحلیل است. replace_paths فهرستی از تاپل‌های (oldpath, newpath) است که در مسیرهای ماژول جایگزین خواهند شد.

report()¶

گزارشی را در خروجی استاندارد چاپ می‌کند که ماژول‌های ایمپورت‌شده توسط اسکریپت و مسیرهای آن‌ها و همچنین ماژول‌هایی را که موجود نیستند یا به نظر می‌رسد موجود نیستند، فهرست می‌کند.

run_script(pathname)¶

محتوای پرونده pathname را تحلیل می‌کند؛ این پرونده باید حاوی کد پایتون باشد.

modules¶

یک دیکشنری که نام ماژول‌ها را به ماژول‌ها نگاشت می‌کند. نمونه‌ای از کاربرد ModuleFinder را ببینید.

نمونه‌ای از کاربرد ModuleFinder¶

اسکریپتی که در ادامه تحلیل خواهد شد (bacon.py):

import re, itertools

try:
    import baconhameggs
except ImportError:
    pass

try:
    import guido.python.ham
except ImportError:
    pass

اسکریپتی که گزارش bacon.py را خروجی خواهد داد:

from modulefinder import ModuleFinder

finder = ModuleFinder()
finder.run_script('bacon.py')

print('Loaded modules:')
for name, mod in finder.modules.items():
    print('%s: ' % name, end='')
    print(','.join(list(mod.globalnames.keys())[:3]))

print('-'*50)
print('Modules not imported:')
print('\n'.join(finder.badmodules.keys()))

خروجی نمونه (ممکن است بسته به معماری متفاوت باشد):

Loaded modules:
_types:
copyreg:  _inverted_registry,_slotnames,__all__
re._compiler:  isstring,_sre,_optimize_unicode
_sre:
re._constants:  REPEAT_ONE,makedict,AT_END_LINE
sys:
re:  __module__,finditer,_expand
itertools:
__main__:  re,itertools,baconhameggs
re._parser:  _PATTERNENDERS,SRE_FLAG_UNICODE
array:
types:  __module__,IntType,TypeType
---------------------------------------------------
Modules not imported:
guido.python.ham
baconhameggs
© حق نشر 2001 Python Software Foundation.
این صفحه تحت مجوز بنیاد نرم‌افزار پایتون نسخه ۲ منتشر شده است.
مثال‌ها، دستورالعمل‌ها، و سایر کدهای موجود در مستندات همچنین تحت مجوز بدون بند BSD منتشر شده‌اند.
برای اطلاعات بیشتر به تاریخچه و مجوز مراجعه کنید.

بنیاد نرم‌افزار پایتون یک شرکت غیرانتفاعی است. لطفاً کمک مالی کنید.

آخرین به‌روزرسانی در نوامبر 12, 2026 (06:19 UTC). آیا اشکالی یافتید؟
ساخته شده با Sphinx 9.1.0.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.