Skip to content

Python Code Snippets

Unzip

Ref: Unzipping files in Python

python
import zipfile
with zipfile.ZipFile(path_to_zip_file, 'r') as zip_ref:
    zip_ref.extractall(directory_to_extract_to)

Stdin

python
import sys
for line in sys.stdin:
    print(line.strip())

Class to JSON

Just for debugging and testing.

python
import inspect


def marshal(v):
    if v is None:
        return v

    for tp in [int, float, str, bool, long]:
        if isinstance(v, tp):
            return v

    if isinstance(v, unicode):
        return v.encode('utf-8')

    if isinstance(v, dict):
        return marshal_dict(v)

    if isinstance(v, list) or isinstance(v, tuple):
        return marshal_list(v)

    if inspect.isclass(v):
        return marshal_class(v)

    raise RuntimeError('type: %s' % (type(v))


def marshal_class(obj):
    ''' marshal class into json serializable dict '''
    ret = {}
    for name, value in inspect.getmembers(obj):
        if name.startswith('_'):
            continue
        if inspect.ismethod(value):
            continue
        if inspect.isbuiltin(value):
            continue
        ret[name] = marshal(value)

    return ret


def marshal_dict(obj):
    ''' marshal dict into json serializable dict'''
    return {k: marshal(obj[k]) for k in obj}


def marshal_list(obj):
    ''' marshal list or tuple into json serializable list'''
    return [marshal(v) for v in obj]

Changelog

Just observe 👀