當前位置: 首頁>>代碼示例>>Python>>正文


Python ModuleFinder.import_module方法代碼示例

本文整理匯總了Python中modulefinder.ModuleFinder.import_module方法的典型用法代碼示例。如果您正苦於以下問題:Python ModuleFinder.import_module方法的具體用法?Python ModuleFinder.import_module怎麽用?Python ModuleFinder.import_module使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在modulefinder.ModuleFinder的用法示例。


在下文中一共展示了ModuleFinder.import_module方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: import_module

# 需要導入模塊: from modulefinder import ModuleFinder [as 別名]
# 或者: from modulefinder.ModuleFinder import import_module [as 別名]
	def import_module( self, partnam, fqname, parent ):
		depth = self._depth
		if depth is None or len( self._callerStack ) <= depth:
			r = ModuleFinder.import_module( self, partnam, fqname, parent )
			if r is not None:
				self._depNode.addDepedency( self._callerStack +[ r.__file__ ] )

			return r
開發者ID:BGCX261,項目名稱:zootoolbox-svn-to-git,代碼行數:10,代碼來源:dependencies.py

示例2: packModule

# 需要導入模塊: from modulefinder import ModuleFinder [as 別名]
# 或者: from modulefinder.ModuleFinder import import_module [as 別名]
def packModule(name):
    importOrder = []


    importOrder = []
    finder = ModuleFinder()
    old_addModule = finder.add_module
    def addModule(fqname):
        if fqname.startswith(name):
            #print fqname
            if fqname not in importOrder:
                importOrder.append(fqname)
        return old_addModule(fqname)
    finder.add_module = addModule
    finder.import_module(name, name, None)

    # hack for yaml
    importOrder = [
        'yaml',
        'yaml.error',
        'yaml.tokens',
        'yaml.events',
        'yaml.nodes',
        'yaml.reader',
        'yaml.scanner',
        'yaml.composer',
        'yaml.constructor',
        'yaml.resolver',
        'yaml.parser',
        'yaml.loader',
        'yaml.emitter',
        'yaml.serializer',
        'yaml.representer',
        'yaml.dumper',
    ]

    global template
    template += '{0}=types.ModuleType("{0}","None");'.format(name)
    template += '{}.__dict__["__builtins__"]=__builtins__;'.format(name)
    template += 'sys.modules["{0}"]={0};'.format(name)

    for n in importOrder:
        if not n.startswith(name):
            continue

        print 'packing {}'.format(n)
        if n == name:
            continue

        filename = n.replace('.','/')+'.pyc'

        modName = filename[len(name)+1:-4]#n.replace('.','_')
        template += '{}=types.ModuleType("{}","None");'.format(modName,filename[len(name)+1:-4])
        template += '{}.__dict__["__builtins__"]=__builtins__;'.format(modName)
        template += '{}.__dict__["{}"]={};'.format(name, filename[len(name)+1:-4], modName)
        template += 'sys.modules["{0}"]={0};'.format(modName)
        with open(filename, 'rb') as f:
            data = f.read()[8:]
            template += 'exec marshal.loads({}) in {}.__dict__;'.format(repr(data), modName)

    for n in importOrder:
        filename = n.replace('.','/')+'.pyc'
        modName = filename[len(name)+1:-4]#n.replace('.','_')
        if len(modName)>0:
            template += 'del {};'.format(modName)

    with open(name+'/__init__.pyc', 'rb') as f:
        data = f.read()[8:]
        template += 'exec marshal.loads({}) in {}.__dict__;'.format(repr(data), name)
開發者ID:Tey,項目名稱:wot-battle-assistant,代碼行數:71,代碼來源:compile_raw.py


注:本文中的modulefinder.ModuleFinder.import_module方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。