相关疑难解决方法(0)

是否有内置或更多Pythonic方法尝试将字符串解析为整数

在尝试将字符串解析为整数时,我必须编写以下函数才能正常失败.我认为Python内置了一些内容来做到这一点,但我找不到它.如果没有,是否有更多的Pythonic方式,不需要单独的功能?

def try_parse_int(s, base=10, val=None):
  try:
    return int(s, base)
  except ValueError:
    return val
Run Code Online (Sandbox Code Playgroud)

我最终使用的解决方案是修改了@ sharjeel的答案.以下功能相同,但我认为更具可读性.

def ignore_exception(exception=Exception, default_val=None):
  """Returns a decorator that ignores an exception raised by the function it
  decorates.

  Using it as a decorator:

    @ignore_exception(ValueError)
    def my_function():
      pass

  Using it as a function wrapper:

    int_try_parse = ignore_exception(ValueError)(int)
  """
  def decorator(function):
    def wrapper(*args, **kwargs):
      try:
        return function(*args, **kwargs)
      except exception:
        return default_val
    return wrapper
  return decorator
Run Code Online (Sandbox Code Playgroud)

python parsing integer

55
推荐指数
6
解决办法
3万
查看次数

标签 统计

integer ×1

parsing ×1

python ×1