# Path: pykern/pkconst.py
# STRING_TYPES = None
#     STRING_TYPES = basestring
#     STRING_TYPES = str
#     PY_PATH_LOCAL_TYPE = type(py.path.local())
# BASE62_CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'


from pykern import pkconst
    from pykern import pkcompat
import contextlib
import errno
import glob
import io
import os
import os.path
import py
import random
import re
import shutil
    Returns:
        bool: True if is a file not found exception.
    """
    return isinstance(exc, IOError) and exc.errno == errno.ENOENT or isinstance(exc, py.error.ENOENT)


def expand_user_path(path):
    """Calls expanduser on path

    If `pkunit_prefix` is set, will prefix, too.

    Args:
        path (str): path to expand

    Returns:
        py.path.Local: expanded path
    """
    return py_path(path)


def has_file_extension(filename, to_check):
    """if matches any of the file extensions

    Args:
        filename (str|py.path.local): what to check
        to_check (str|tuple|list): is without '.' and lower

    Returns:
        bool: if any of the extensions matches
    """

# Path: pykern/pkconst.py
# STRING_TYPES = None
#     STRING_TYPES = basestring
#     STRING_TYPES = str
#     PY_PATH_LOCAL_TYPE = type(py.path.local())
# BASE62_CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'


# Path: pykern/pkio.py
from pykern import pkconst
    from pykern import pkcompat
import contextlib
import errno
import glob
import io
import os
import os.path
import py
import random
import re
import shutil

    Returns:
        bool: True if is a file not found exception.
    """
    return isinstance(exc, IOError) and exc.errno == errno.ENOENT or isinstance(exc, py.error.ENOENT)


def expand_user_path(path):
    """Calls expanduser on path

    If `pkunit_prefix` is set, will prefix, too.

    Args:
        path (str): path to expand

    Returns:
        py.path.Local: expanded path
    """
    return py_path(path)


def has_file_extension(filename, to_check):
    """if matches any of the file extensions

    Args:
        filename (str|py.path.local): what to check
        to_check (str|tuple|list): is without '.' and lower

    Returns:
        bool: if any of the extensions matches
    """

    if isinstance(to_check, pkconst.STRING_TYPES):