Convenient File Handling Library
Project description
Py7File wraps and unifies the python stdlib file handling modules with a simple and intuitive high-level api.
Think: os.path, shutil etc. via object based method access.
Author: Titusz <tp at py7 de>
Source Code: http://github.com/titusz/py7file
License: BSD
Installation
Use easy_install or pip:
pip install py7file
Usage
Here some hopefully self explaining examples of Py7File usage:
from py7file import Py7File the_file = Py7File('a_file.txt') # Copy and Move copied_file = the_file.copy('d_file.txt') # copied_file is also a Py7file the_file.move('moved_file.txt') # moves the file and mutates the reference # Backup and Restore the_file.backup() # creates a_file_backup_001.txt the_file.backup() # creates a_file_backup_002.txt the_file.delete() # removes a_file.txt from disk (ups...) the_file.restore() # recovers file from a_file_backup_002.txt # Unzip and Rezip zfile = Py7File('a_file.zip') zfile.unzip() # creates a folder a_file_unzipped with contents of zipfile zfile.rezip() # repackages subfolder a_file_unzipped to a_file.zip
See test_py7file.py for more examples.
Testing
Py7File is tested against python 2.6 and 2.7
To run the tests:
python test_py7file.py
Status
Well I am using this this file handling library quite extensivly myself and i got no complaints so far ;). Still please consider this Beta and use at your own risk…
Background
As I started learning programming with python I found the different modules for handling files very confusing and cumbersome to use. While writing my first scripts I found myself writing os.path.join(…) way to often. I still keep mixing up os and shutil based file operations like copy, move, rename. So I started this little module to make things easier…
News
0.7.4
fixed get_md5 to use internal filepath
0.7.3
.unzip() can now handle gzipped files transparently
.unzip() now returns a list containing all extracted files as Py7File objects
fixed filepath encoding
0.7.2
Release date: 15-August-2011
Added get_number() method for convenient work with numbered files.
0.7.1
Release date: 24-July-2011
fixed setup.py
0.7
Release date: 17-July-2011
added new get_sanitized_filename method
0.6
Release date: 21-May-2011
new EpubFile class that suports epub packaging
enhancements for Py7File subclassing
0.5.1
Release date: 10-May-2011
basic read method added
improved file comparison
0.5
Release date: 09-May-2011
fixed filepath property to always give absolute path
0.4
Release date: 08-May-2011
fixed to work with files that have no extension
fixed getsize test not returning long on osx
added md5 based file comparison
.is_binary() detects if file is binary or “text”
0.2
Release date: 08-May-2011
Fixed for tests on OSX
0.1
Release date: 08-May-2011
Initial release
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.