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


Python inspect.html方法代碼示例

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


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

示例1: normalize_call_args

# 需要導入模塊: import inspect [as 別名]
# 或者: from inspect import html [as 別名]
def normalize_call_args(call_args, func=None, signature=None, with_defaults=True):
    if func is None and signature is None:
        raise ValueError("Must supply either func or signature")
    if func is not None and signature is not None:
        raise ValueError("Must supply either func or signature; not both")

    if signature is None:
        signature = inspect.signature(func)

    args, kwargs = call_args
    bound_args = signature.bind(*args, **kwargs)

    # based on code from the Python docs:
    # https://docs.python.org/3/library/inspect.html#inspect.BoundArguments
    if with_defaults:
        for param in signature.parameters.values():
            if (
                    param.name not in bound_args.arguments
                    and param.default is not param.empty
            ):
                bound_args.arguments[param.name] = param.default

    return bound_args.args, bound_args.kwargs 
開發者ID:jetbrains-academy,項目名稱:pycharm-courses,代碼行數:25,代碼來源:custom_test_helpers.py

示例2: caller_name

# 需要導入模塊: import inspect [as 別名]
# 或者: from inspect import html [as 別名]
def caller_name(depth=1):
    """Get a name of a caller in the format module.class.method

       `skip` specifies how many levels of stack to skip while getting caller
       name. skip=1 means "who calls me", skip=2 "who calls my caller" etc.

       An empty string is returned if skipped levels exceed stack height
    """
    stack = inspect.stack()
    start = 0 + depth
    if len(stack) < start + 1:
        return ''
    parentframe = stack[start][0]
    path = get_frame_path(parentframe)

    ## Avoid circular refs and frame leaks
    #  https://docs.python.org/2.7/library/inspect.html#the-interpreter-stack
    del parentframe, stack

    return path 
開發者ID:LexPredict,項目名稱:lexpredict-contraxsuite,代碼行數:22,代碼來源:decorators.py

示例3: get_python_file_from_previous_stack_frame

# 需要導入模塊: import inspect [as 別名]
# 或者: from inspect import html [as 別名]
def get_python_file_from_previous_stack_frame():
    '''inspect.stack() lets us introspect the call stack; inspect.stack()[1] is the previous
    stack frame.

    In Python < 3.5, this is just a tuple, of which the python file of the previous frame is the 1st
    element.

    In Python 3.5+, this is a FrameInfo namedtuple instance; the python file of the previous frame
    remains the 1st element.
    '''

    # Since this is now a function in this file, we need to go back two hops to find the
    # callsite file.
    previous_stack_frame = inspect.stack(0)[2]

    # See: https://docs.python.org/3/library/inspect.html
    if sys.version_info.major == 3 and sys.version_info.minor >= 5:
        check.inst(previous_stack_frame, inspect.FrameInfo)
    else:
        check.inst(previous_stack_frame, tuple)

    python_file = previous_stack_frame[1]
    return os.path.abspath(python_file) 
開發者ID:dagster-io,項目名稱:dagster,代碼行數:25,代碼來源:code_pointer.py

示例4: _inspect_func_args

# 需要導入模塊: import inspect [as 別名]
# 或者: from inspect import html [as 別名]
def _inspect_func_args(fn):
    try:
        co_varkeywords = inspect.CO_VARKEYWORDS
    except AttributeError:
        # https://docs.python.org/3/library/inspect.html
        # The flags are specific to CPython, and may not be defined in other
        # Python implementations. Furthermore, the flags are an implementation
        # detail, and can be removed or deprecated in future Python releases.
        spec = compat.inspect_getfullargspec(fn)
        return spec[0], bool(spec[2])
    else:
        # use fn.__code__ plus flags to reduce method call overhead
        co = fn.__code__
        nargs = co.co_argcount
        return (
            list(co.co_varnames[:nargs]),
            bool(co.co_flags & co_varkeywords),
        ) 
開發者ID:sqlalchemy,項目名稱:sqlalchemy,代碼行數:20,代碼來源:langhelpers.py

示例5: add

# 需要導入模塊: import inspect [as 別名]
# 或者: from inspect import html [as 別名]
def add(self, *args, **kwargs):
        default = kwargs.get('default')
        dtype = kwargs.get('type')
        if dtype is None:
            if default is None:
                dtype = str
            else:
                dtype = type(default)
        typename = dtype.__name__
        if 'metavar' not in kwargs:
            # metavar: display --foo <float=0.05> in help string
            if 'choices' in kwargs:
                choices = kwargs['choices']
                choices_str = '/'.join(['{}']*len(choices)).format(*choices)
                kwargs['metavar'] = '<{}: {}>'.format(typename, choices_str)
            elif 'nargs' in kwargs:
                # better formatting handled in _SingleMetavarFormatter
                kwargs['metavar'] = '{}'.format(typename)
            elif not kwargs.get('action'):
                # if 'store_true', then no metavar needed
                # list of actions: https://docs.python.org/3/library/argparse.html#action
                default_str = '={}'.format(default) if default else ''
                kwargs['metavar'] = '<{}{}>'.format(typename, default_str)
        self.parser.add_argument(*args, **kwargs) 
開發者ID:SurrealAI,項目名稱:surreal,代碼行數:26,代碼來源:common.py

示例6: post_cv_match

# 需要導入模塊: import inspect [as 別名]
# 或者: from inspect import html [as 別名]
def post_cv_match(self, cv_ret, *args, **kwargs):
        if not cv_ret:
            return

        # 如果當前函數是由loop_find調用的,那就可以找到一個rect,這個rect由airtest.core.cv._cv_match裏給出
        # 以下就是從frame stack中一直找到loop_find這一幀,然後找出loop_find的第一個argument,通過argument求出tid
        frame = sys._getframe(0)
        while frame and frame.f_code.co_name != 'loop_find':
            frame = frame.f_back
        if frame:
            # more details about inspect parameter name in runtime,
            # see https://docs.python.org/2/library/inspect.html#inspect.getargvalues
            args, varargs, keywords, locals = inspect.getargvalues(frame)
            if len(args) > 0:
                v_name = args[0]
            elif varargs is not None and len(locals[varargs]) > 0:
                v_name = locals[varargs][0]
            else:
                raise ValueError('loop_find第一個參數不支持使用keyword args')

            # 取到loop_find的第一個argument
            v = locals[v_name]
            tid = id(v)
            rect = cv_ret.get("rectangle")
            if rect:
                # a rect's each vertex in screen as following
                # [0]  [3]
                # [1]  [2]
                t = rect[0][1] * 1.0
                r = rect[3][0] * 1.0
                b = rect[1][1] * 1.0
                l = rect[0][0] * 1.0
                w, h = current_device().getCurrentScreenResolution()
                self.action_recorder.bounding(tid, [t / h, r / w, b / h, l / w]) 
開發者ID:AirtestProject,項目名稱:PocoUnit,代碼行數:36,代碼來源:action_tracking.py

示例7: trim_docstring

# 需要導入模塊: import inspect [as 別名]
# 或者: from inspect import html [as 別名]
def trim_docstring(docstring):
    # Cleans up whitespaces from an indented docstring
    #
    # See https://www.python.org/dev/peps/pep-0257/
    # and https://docs.python.org/2/library/inspect.html#inspect.cleandoc
    return inspect.cleandoc(docstring) if docstring else None 
開發者ID:graphql-python,項目名稱:graphene,代碼行數:8,代碼來源:trim_docstring.py

示例8: group

# 需要導入模塊: import inspect [as 別名]
# 或者: from inspect import html [as 別名]
def group(s, n):
    # See
    # http://www.python.org/doc/2.6/library/functions.html#zip
    return zip(*[iter(s)]*n) 
開發者ID:scanlime,項目名稱:coastermelt,代碼行數:6,代碼來源:png.py

示例9: interleave_planes

# 需要導入模塊: import inspect [as 別名]
# 或者: from inspect import html [as 別名]
def interleave_planes(ipixels, apixels, ipsize, apsize):
    """
    Interleave (colour) planes, e.g. RGB + A = RGBA.

    Return an array of pixels consisting of the `ipsize` elements of data
    from each pixel in `ipixels` followed by the `apsize` elements of data
    from each pixel in `apixels`.  Conventionally `ipixels` and
    `apixels` are byte arrays so the sizes are bytes, but it actually
    works with any arrays of the same type.  The returned array is the
    same type as the input arrays which should be the same type as each other.
    """

    itotal = len(ipixels)
    atotal = len(apixels)
    newtotal = itotal + atotal
    newpsize = ipsize + apsize
    # Set up the output buffer
    # See http://www.python.org/doc/2.4.4/lib/module-array.html#l2h-1356
    out = array(ipixels.typecode)
    # It's annoying that there is no cheap way to set the array size :-(
    out.extend(ipixels)
    out.extend(apixels)
    # Interleave in the pixel data
    for i in range(ipsize):
        out[i:newtotal:newpsize] = ipixels[i:itotal:ipsize]
    for i in range(apsize):
        out[i+ipsize:newtotal:newpsize] = apixels[i:atotal:apsize]
    return out 
開發者ID:scanlime,項目名稱:coastermelt,代碼行數:30,代碼來源:png.py

示例10: mycallersname

# 需要導入模塊: import inspect [as 別名]
# 或者: from inspect import html [as 別名]
def mycallersname():
    """Returns the name of the caller of the caller of this function
    (hence the name of the caller of the function in which
    "mycallersname()" textually appears).  Returns None if this cannot
    be determined."""

    # http://docs.python.org/library/inspect.html#the-interpreter-stack
    import inspect

    frame = inspect.currentframe()
    if not frame:
        return None
    frame_,filename_,lineno_,funname,linelist_,listi_ = (
      inspect.getouterframes(frame)[2])
    return funname 
開發者ID:scanlime,項目名稱:coastermelt,代碼行數:17,代碼來源:png.py

示例11: _enhex

# 需要導入模塊: import inspect [as 別名]
# 或者: from inspect import html [as 別名]
def _enhex(s):
    """Convert from binary string (bytes) to hex string (str)."""

    import binascii

    return bytestostr(binascii.hexlify(s))

# Copies of PngSuite test files taken
# from http://www.schaik.com/pngsuite/pngsuite_bas_png.html
# on 2009-02-19 by drj and converted to hex.
# Some of these are not actually in PngSuite (but maybe they should
# be?), they use the same naming scheme, but start with a capital
# letter. 
開發者ID:scanlime,項目名稱:coastermelt,代碼行數:15,代碼來源:png.py

示例12: group

# 需要導入模塊: import inspect [as 別名]
# 或者: from inspect import html [as 別名]
def group(s, n):
    # See
    # http://www.python.org/doc/2.6/library/functions.html#zip
    return list(zip(*[iter(s)]*n)) 
開發者ID:bannsec,項目名稱:stegoVeritas,代碼行數:6,代碼來源:png.py

示例13: set_preprocess_fn

# 需要導入模塊: import inspect [as 別名]
# 或者: from inspect import html [as 別名]
def set_preprocess_fn(self, preprocess_fn):  # pytype: disable=invalid-annotation
    """Register the preprocess_fn used during the input data generation.

    Note, the preprocess_fn can only have `features` and optionally `labels` as
    inputs. The `mode` has to be abstracted by using a closure or
    functools.partial prior to passing a preprocessor.preprocess function.
    For example using functools:
    set_preprocess_fn(
      functools.partial(preprocessor.preprocess,
                        mode=tf.estimator.ModeKeys.TRAIN))

    Args:
      preprocess_fn: The function called during the input dataset generation to
        preprocess the data.
    """

    if isinstance(preprocess_fn, functools.partial):  # pytype: disable=wrong-arg-types
      # Note, we do not combine both conditions into one since
      # inspect.getargspec does not work for functools.partial objects.
      if 'mode' not in preprocess_fn.keywords:
        raise ValueError('The preprocess_fn mode has to be set if a partial'
                         'function has been passed.')
    else:
      if six.PY3:
        argspec = inspect.getfullargspec(preprocess_fn)
        # first 4 element of fullspec corresponds to spec:
        # https://docs.python.org/3.4/library/inspect.html
        argspec = inspect.ArgSpec(*argspec[:4])
      else:
        argspec = inspect.getargspec(preprocess_fn)  # pylint: disable=deprecated-method
      if 'mode' in argspec.args:
        raise ValueError('The passed preprocess_fn has an open argument `mode`'
                         'which should be patched by a closure or with '
                         'functools.partial.')

    self._preprocess_fn = preprocess_fn 
開發者ID:google-research,項目名稱:tensor2robot,代碼行數:38,代碼來源:abstract_input_generator.py

示例14: get_metadata

# 需要導入模塊: import inspect [as 別名]
# 或者: from inspect import html [as 別名]
def get_metadata(type):
    metadata = dict()

    if hasattr(type, 'from_urdf'):
        metadata['from_urdf'] = getattr(type, 'from_urdf')
    else:
        if sys.version_info[0] < 3:
            argspec = inspect.getargspec(type.__init__)  # this is deprecated in python3
        else:
            argspec = inspect.getfullargspec(type.__init__)
        args = {}

        required = len(argspec.args)
        if argspec.defaults:
            required -= len(argspec.defaults)

        for i in range(1, len(argspec.args)):
            data = dict(required=i < required)
            default_index = i - required

            if default_index >= 0:
                default = argspec.defaults[default_index]
                data['default'] = default
                data['sequence'] = hasattr(default, '__iter__')
            else:
                data['sequence'] = False

            args[argspec.args[i]] = data
        if sys.version_info[0] < 3:
            metadata['keywords'] = argspec.keywords is not None
        else:
            # TODO: make sure replacing keyword with kwonlyargs is correct, check at: https://docs.python.org/3/library/inspect.html#inspect.getargspec
            metadata['keywords'] = argspec.kwonlyargs is not None
        metadata['init_args'] = args

    metadata['argument_map'] = getattr(type, 'argument_map', {})

    return metadata 
開發者ID:compas-dev,項目名稱:compas,代碼行數:40,代碼來源:urdf.py

示例15: _get_bound_args

# 需要導入模塊: import inspect [as 別名]
# 或者: from inspect import html [as 別名]
def _get_bound_args(func, *args, **kwargs):
    """
    https://docs.python.org/3/library/inspect.html#inspect.BoundArguments
    def f(a, b, c=5, d=6): pass
    get_bound_args(f, 3, 6, d=100) -> {'a':3, 'b':6, 'c':5, 'd':100}

    Returns:
        OrderedDict of bound arguments
    """
    arginfo = inspect.signature(func).bind(*args, **kwargs)
    arginfo.apply_defaults()
    return arginfo.arguments 
開發者ID:SurrealAI,項目名稱:surreal,代碼行數:14,代碼來源:common.py


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