Skip to main content

Py7File - Simple file handling with python

Py7File wraps and unifies the python stdlib file handling modules with a simple and intuitive high-level api.

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

Metadata

Release files for py7file 0.7.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distributions (sdists)

Source distribution for py7file 0.7.4
File Size Uploaded Provenance Actions
py7file-0.7.4.zip 11.0 kB Without provenance Details for py7file-0.7.4.zip
py7file-0.7.4.tar.gz 6.5 kB Without provenance Details for py7file-0.7.4.tar.gz

Release files / py7file-0.7.4.zip

Download URL py7file-0.7.4.zip
Size 11.0 kB
Tags Source
SHA-256 checksum
How to use checksums
57414e403c759b2286bf07c5825bcb75f7c611ee1cd0dcaf9898e92d935b256d
BLAKE2b-256 checksum
How to use checksums
51409e5ff86fc793c0bbc8f53e02654556d4f3762bdc367c4548b66b6d80ac53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / py7file-0.7.4.tar.gz

Download URL py7file-0.7.4.tar.gz
Size 6.5 kB
Tags Source
SHA-256 checksum
How to use checksums
6537d78732492163489f739bbab09c9375de47d6d717df11bf05f9990ac02225
BLAKE2b-256 checksum
How to use checksums
2a77626bbb7aa801593359dac09f0be53d41860b1876a52f4ce6c1e179f4a46d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for py7file 0.7.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page