Skip to main content

Add your description here

Project description

Table of Contents TOC

Introduction

filefox is a simple helper toolbox for reading and writing files.

Installation

From pip

pip install filefox

From source

pip install git+https://github.com/Yevgnen/filefox.git

Usages

Reading/Writing functions

Function Description
read_json Reading Json file
write_json Writing Json file
read_pickle Reading Pickle file
write_pickle Writing Pickle file
read_toml Reading Toml file
write_toml Writing Toml file
read_toml Reading text file
write_toml Writing text file
read Detect file extension, decompress when necessary, read file
write Detect file extension, write file, compress when necessary

These functions have the following convention of their signatures:

reader(filename, ..., file_kwargs=None, ...)
writer(obj, filename, ..., file_kwargs=None, ...)
  • For all readers, the first positional argument is always the filename.
  • For all writers, the first positional argument is always the dump object and the second is filename.
  • All functions accpet a keyword argument file_kwargs which is an optional dict will be unpacked and passed to file opening function, e.g. open . The other keyword arguments will be passed to internal load/dump functions.

Example

# -*- coding: utf-8 -*-

import filefox

obj = {
    "name": "John",
    "age": 12,
}

filefox.write_json(obj, "json_data.json")
assert obj == filefox.read_json("json_data.json")

filefox.write_json(obj, "json_data.json.gz")
assert obj == filefox.read_json("json_data.json.gz")

filefox.write(obj, "json_data.json")
assert obj == filefox.read("json_data.json")

filefox.write(obj, "json_data.json.gz")
assert obj == filefox.read("json_data.json.gz")

filefox.write_json(
    obj, "json_data.json", file_kwargs={"mode": "w", "encoding": "utf8"}, indent=2
)
assert obj == filefox.read_json("json_data.json", file_kwargs={"encoding": "utf8"})

Contribution

Formatting Code

To ensure the codebase complies with a style guide, please use flake8, black and isort tools to format and check codebase for compliance with PEP8.

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

filefox-0.6.0.tar.gz (5.0 kB view hashes)

Uploaded Source

Built Distribution

filefox-0.6.0-py3-none-any.whl (3.7 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