Skip to main content

Utils to save your time on python coding

Project description

ezutils

Utils to save your time on python coding

Life is short we use ezutils !

1. Installing

pip install ezutils

2. Using files

2.1 readlines:

readlines(filename: str, strip_newline: bool = True)

2.1.1 params:

filename: the filename tobe read

strip_newline: strip the last space/newline

2.1.2 return lines readed from file

2.1.3 Example:

    lines = readlines(brother_path('cfg.txt'))
    print(lines)

2.2 writelines:

writelines(lines: List, filename, append_newline: bool = True)

2.2.1 params:

lines: lines tobe written
filename: file tobe written
append_newline: add a newline to each line writtend

2.2.2 return None

Example:

    lines = ['hello', 'ezflines']
    writelines(lines, brother_path('cfg.txt'))

2.3 readstr:

readstr(filename: str) -> str

2.3.1 params:

filename: file tobe read

2.3.2 return None

2.4 readjson:

readjson(filename: str) -> dict

2.4.1 params:

filename: file tobe read

2.4.2 return dict from json parse

2.5 DEMO

example/demo_files.py

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import os
from ezutils.files import readlines, writelines, readstr, readjson, list_by_ext


def brother_path(filename): return os.path.join(
    os.path.dirname(__file__), filename)


def read_as_lines():
    lines1 = readlines(brother_path('cfg.txt'))
    print(f"lines1:{lines1}")
    '''
    lines1:['hello', 'ezflines']
    '''
    lines2 = readlines(brother_path('cfg.txt'), False)
    print(f"lines2:{lines2}")
    '''
    lines2:['hello\n', 'ezflines\n']
    '''


def write_as_lines():
    lines = ['hello', 'ezflines']
    writelines(lines, brother_path('cfg.txt'))
    '''
    cfg.txt:
    hello
    ezflines

    '''
    writelines(lines, brother_path('cfg_oneline.txt'), False)
    '''
    cfg_oneline.txt:
    helloezflines
    '''


def read_as_string():
    string = readstr(brother_path('cfg.txt'))
    print(f"read_as_string:\n{string}")


def read_as_json():
    json_obj = readjson(brother_path('cfg.json'))
    print(f"read_as_json: type = {type(json_obj)}")
    images = json_obj["images"]
    for image in images:
        print(f"read_as_json: image = {image}")


def find_pys():
    files = list_by_ext('.', 'py')
    index = 0
    width = len(f"{len(files)}")
    for file in files:
        print(f"[{index:0{width}}] {file}")
        index += 1


if __name__ == "__main__":
    write_as_lines()
    read_as_lines()
    read_as_string()
    read_as_json()
    find_pys()

3 Using progress

3.1 print_progress

print_progress(msg, current, max, max_width=60)

Demo

example/demo_files.py

#!/usr/bin/env python3
#demo_progress.py

import time

from ezutils.progress import print_progress

if __name__ == '__main__':
    max = 100
    for i in range(max + 1):
        print_progress("MSG:ABC(%d)" % i, i, max)
        time.sleep(0.01)

TODO:

pillow utils

add roundrect for pillow see and ANTIALIAS circle_corner

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ezutils-0.0.5.tar.gz (5.0 kB view hashes)

Uploaded Source

Built Distribution

ezutils-0.0.5-py3-none-any.whl (5.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page