当前位置: 首页>>代码示例>>Python>>正文


Python InteractiveShellEmbed.autocall方法代码示例

本文整理汇总了Python中IPython.terminal.embed.InteractiveShellEmbed.autocall方法的典型用法代码示例。如果您正苦于以下问题:Python InteractiveShellEmbed.autocall方法的具体用法?Python InteractiveShellEmbed.autocall怎么用?Python InteractiveShellEmbed.autocall使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IPython.terminal.embed.InteractiveShellEmbed的用法示例。


在下文中一共展示了InteractiveShellEmbed.autocall方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Main

# 需要导入模块: from IPython.terminal.embed import InteractiveShellEmbed [as 别名]
# 或者: from IPython.terminal.embed.InteractiveShellEmbed import autocall [as 别名]

#.........这里部分代码省略.........
      u'Imagination is more important than knowledge.',
      u'Do you hate being dead?',
      u'You\'ve got 5 seconds... and 3 are up.',
      u'He is in a gunfight right now. I\'m gonna have to take a message',
      u'That would be better than losing your teeth',
      u'The less you know, the more you make',
      (u'A SQL query goes into a bar, walks up to two tables and asks, '
       u'"Can I join you?"'),
      u'This is your captor speaking.',
      (u'If I find out you\'re lying, I\'ll come back and kill you in your '
       u'own kitchen.'),
      u'That would be better than losing your teeth',
      (u'He\'s the kind of guy who would drink a gallon of gasoline so '
       u'that he can p*ss into your campfire.'),
      u'I\'m gonna take you to the bank, Senator Trent. To the blood bank!',
      u'I missed! I never miss! They must have been smaller than I thought',
      u'Nah. I\'m just a cook.',
      u'Next thing I know, you\'ll be dating musicians.',
      u'Another cold day in hell',
      u'Yeah, but I bet you she doesn\'t see these boys in the choir.',
      u'You guys think you\'re above the law... well you ain\'t above mine!',
      (u'One thought he was invincible... the other thought he could fly... '
       u'They were both wrong'),
      u'To understand what recursion is, you must first understand recursion']

  arg_description = (
      u'pshell is the interactive session tool that can be used to'
      u'MISSING')

  arg_parser = argparse.ArgumentParser(description=arg_description)

  arg_parser.add_argument(
      '-s', '--storage_file', '--storage-file', dest='storage_file',
      type=unicode, default=u'', help=u'Path to a plaso storage file.',
      action='store', metavar='PATH')

  configuration = arg_parser.parse_args()

  if configuration.storage_file:
    store = OpenStorageFile(configuration.storage_file)
    if store:
      namespace.update({'store': store})

  functions = [
      FindAllOutputs, GetEventData, GetParserNames, GetParserObjects,
      OpenOSFile, OpenStorageFile, OpenTskFile, OpenVssFile,
      ParseFile, Pfile2File,
      PrintTimestamp, PrintTimestampFromEvent]

  functions_strings = []
  for function in functions:
    docstring, _, _ = function.__doc__.partition(u'\n')
    docstring = u'\t{0:s} - {1:s}'.format(function.__name__, docstring)
    functions_strings.append(docstring)
  functions_strings = u'\n'.join(functions_strings)

  banner = (
      u'--------------------------------------------------------------\n'
      u' Welcome to Plaso console - home of the Plaso adventure land.\n'
      u'--------------------------------------------------------------\n'
      u'This is the place where everything is allowed, as long as it is '
      u'written in Python.\n\n'
      u'Objects available:\n\toptions - set of options to the frontend.\n'
      u'\tfrontend - A copy of the pshell frontend.\n'
      u'\n'
      u'All libraries have been imported and can be used, see help(frontend) '
      u'or help(parser).\n'
      u'\n'
      u'Base methods:\n'
      u'{0:s}'
      u'\n\tmessage - Print message strings from an event object.'
      u'\n'
      u'\n'
      u'p.s. typing in "pdb" and pressing enter puts the shell in debug'
      u'mode which causes all exceptions being sent to pdb.\n'
      u'Happy command line console fu-ing.\n\n').format(functions_strings)

  exit_message = u'You are now leaving the winter wonderland.\n\n{}'.format(
      random.choice(_my_random_phrases))

  shell_config = Config()
  # Make slight adjustments to the iPython prompt.
  shell_config.PromptManager.out_template = (
      r'{color.Normal}[{color.Red}\#{color.Normal}]<<< ')
  shell_config.PromptManager.in_template = (
      r'[{color.LightBlue}\T{color.Normal}] {color.LightPurple}\Y2\n'
      r'{color.Normal}[{color.Red}\#{color.Normal}] \$ ')
  shell_config.PromptManager.in2_template = r'.\D.>>>'

  ipshell = InteractiveShellEmbed(
      user_ns=namespace, config=shell_config, banner1=banner,
      exit_msg=exit_message)
  ipshell.confirm_exit = False
  # Set autocall to two, making parenthesis not necessary when calling
  # function names (although they can be used and are necessary sometimes,
  # like in variable assignments, etc).
  ipshell.autocall = 2
  ipshell()

  return True
开发者ID:cvandeplas,项目名称:plaso,代码行数:104,代码来源:pshell.py

示例2: RunModeConsole

# 需要导入模块: from IPython.terminal.embed import InteractiveShellEmbed [as 别名]
# 或者: from IPython.terminal.embed.InteractiveShellEmbed import autocall [as 别名]

#.........这里部分代码省略.........
      u'pwd', u'Print the working "directory" or the path of the current key.',
      function_name_length))
  banners.append(frontend_utils.FormatOutputString(
      u'plugin [-h] plugin_name', (
          u'Run a particular key-based plugin on the loaded hive. The correct '
          u'Registry key will be loaded, opened and then parsed.'),
      function_name_length))
  banners.append(frontend_utils.FormatOutputString(
      u'get_value value_name', (
          u'Get a value from the currently loaded Registry key.')))
  banners.append(frontend_utils.FormatOutputString(
      u'get_value_data value_name', (
          u'Get a value data from a value stored in the currently loaded '
          u'Registry key.')))
  banners.append(frontend_utils.FormatOutputString(
      u'get_key', u'Return the currently loaded Registry key.'))

  banners.append(u'')

  # Build the global cache and prepare the tool.
  hive_storage = preg.PregStorage()
  shell_helper = preg.PregHelper(options, front_end, hive_storage)
  parser_mediator = shell_helper.BuildParserMediator()

  preg.PregCache.parser_mediator = parser_mediator
  preg.PregCache.shell_helper = shell_helper
  preg.PregCache.hive_storage = hive_storage

  registry_types = getattr(options, 'regfile', None)
  if isinstance(registry_types, basestring):
    registry_types = registry_types.split(u',')

  if not registry_types:
    registry_types = [
        'NTUSER', 'USRCLASS', 'SOFTWARE', 'SYSTEM', 'SAM', 'SECURITY']
  preg.PregCache.shell_helper.Scan(registry_types)

  if len(preg.PregCache.hive_storage) == 1:
    preg.PregCache.hive_storage.SetOpenHive(0)
    hive_helper = preg.PregCache.hive_storage.loaded_hive
    banners.append(
        u'Opening hive: {0:s} [{1:s}]'.format(
            hive_helper.path, hive_helper.collector_name))
    ConsoleConfig.SetPrompt(hive_path=hive_helper.path)

  loaded_hive = preg.PregCache.hive_storage.loaded_hive

  if loaded_hive and loaded_hive.name != u'N/A':
    banners.append(
        u'Registry hive: {0:s} is available and loaded.'.format(
            loaded_hive.name))
  else:
    banners.append(u'More than one Registry file ready for use.')
    banners.append(u'')
    banners.append(preg.PregCache.hive_storage.ListHives())
    banners.append(u'')
    banners.append((
        u'Use "hive open INDEX" to load a hive and "hive list" to see a '
        u'list of available hives.'))

  banners.append(u'')
  banners.append(u'Happy command line console fu-ing.')

  # Adding variables in scope.
  namespace.update(globals())
  namespace.update({
      'get_current_key': GetCurrentKey,
      'get_key': GetCurrentKey,
      'get_value': GetValue,
      'get_value_data': GetValueData,
      'number_of_hives': GetTotalNumberOfLoadedHives,
      'range_of_hives': GetRangeForAllLoadedHives,
      'options': options})

  ipshell_config = ConsoleConfig.GetConfig()

  if loaded_hive:
    ConsoleConfig.SetPrompt(
        hive_path=loaded_hive.name, config=ipshell_config)
  else:
    ConsoleConfig.SetPrompt(hive_path=u'NO HIVE LOADED', config=ipshell_config)

  # Starting the shell.
  ipshell = InteractiveShellEmbed(
      user_ns=namespace, config=ipshell_config, banner1=u'\n'.join(banners),
      exit_msg='')
  ipshell.confirm_exit = False
  # Adding "magic" functions.
  ipshell.register_magics(MyMagics)
  # Set autocall to two, making parenthesis not necessary when calling
  # function names (although they can be used and are necessary sometimes,
  # like in variable assignments, etc).
  ipshell.autocall = 2
  # Registering command completion for the magic commands.
  ipshell.set_hook('complete_command', CdCompleter, str_key='%cd')
  ipshell.set_hook('complete_command', VerboseCompleter, str_key='%ls')
  ipshell.set_hook('complete_command', VerboseCompleter, str_key='%parse')
  ipshell.set_hook('complete_command', PluginCompleter, str_key='%plugin')

  ipshell()
开发者ID:cnbird1999,项目名称:plaso,代码行数:104,代码来源:preg.py


注:本文中的IPython.terminal.embed.InteractiveShellEmbed.autocall方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。