A ZERO dependency rotating file handler which rotates when YOU want it to, rather than based on bytes size.
Project description
Rotating Text File
A rotating file handler which rotates when YOU want it to, rather than based on bytes size.
When to use this module?
- When you have that niche case of logs being written into some text file from several functions and you just want it to rotate without having to re-write all the write calls with some new package.
Why not use RotatingFileHandler provided by Python's logging module?
- If you are thinking of logging, please use RotatingFileHandler. It provides doRollover method which does the same functionality but with all the logging APIs.
- This module aims to solve cases of code where outputs were just being dumped into some file and over time the code grew so big that rotating the text file was needed without distrubing/refactoring the entire codebase.
Installation
pip install RotatingTextFile
Usage:
- Any existing code with text file can be replaced with the RotateTextFile constructor and a checker function.
- Eg:
If you have some code like:
with open("path/to/text/file","w") as fp:
fp.write("some log")
All you have to do is:
def condition():
return some_variable==0
with RotateTextFile("path/to/text/file",condition,10) as fp: #10 is backupCount as in RotatingFileHandler
fp.write("some log")
conditionis called on every write. You can think of it as an analogy to a sort function which takes yourcheckingfunction as an input.RotateTextFileinheritsio.TextIOWrapper, so to pass any arguments specific toio.TextIOWrapper's constructor, just pass them as Keyword Arguments.- Since a file is rotated only on write,
RotateTextFileconstructor opens the file inab+mode. Other supported modes are :wb.modecan be passed as:RotateTextFile("path/to/text/file",condition,10,'wb'): backupCountindicates how many backups a file can have before it is rotated.- Like
RotatingFileHandlerprovided by Python's logging module,RotateTextFileguarentees that the file being written to will ALWAYS befilename.log
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file RotatingTextFile-0.0.2.tar.gz.
File metadata
- Download URL: RotatingTextFile-0.0.2.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc4fc829860b7934d79d6fcb8d8b91e9df86e5f76e9ecc231e3bee3c140a45e3
|
|
| MD5 |
0aca0256b35b3723d88ac3b16abf97b4
|
|
| BLAKE2b-256 |
c5e4c42b44a7778dac9d090f95e9d6a4e29536e571fe2699e8f2d3168f5c4010
|
File details
Details for the file RotatingTextFile-0.0.2-py3-none-any.whl.
File metadata
- Download URL: RotatingTextFile-0.0.2-py3-none-any.whl
- Upload date:
- Size: 15.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3b898045a6fe8e5dfbae996f0878e3be9398e2b7705fae182782bed89c9adf5
|
|
| MD5 |
5dfcf37b49ab101cee9384e03f66a4b5
|
|
| BLAKE2b-256 |
0cdf27f28101fffc70d5084cdb8e65233bd20e984d65724ee6c30cc5d93aa851
|