Skip to main content

Abstraction of Regex find and replace on a file

Project description

File Sculpt

example workflow example workflow

current version: v0.0.6

This python module abstracts finding and replacing certain portions of a file through regular expressions. It is a class that creates abstraction of the inner workings of opening and closing a file when finding and replacing its contents.

REQUIREMENTS:
  • Python v3.9
  • pip
INSTALLATION:

On your command line inside your project directory type the following:

pip install filesculpt
USAGE:

Importing to your code:

from fileSculpt.filesculpt import Sculptfile
EXAMPLE:

Given a file foo.txt containing the text "A quick brown fox jumps under the lazy dog.", we want the text to become "The quick brown fox jumps over the lazy dog"and save it to another file, foorect.txt.

from fileSculpt.filesculpt import Sculptfile

a = Sculptfile(r'^A(.+)under(.+)',["The",0,"over",1],'foo.txt','foorect.text')
a.sculpt()
CLASS DEFINITION:

This is how the Sculptfile object is defined:

Sculptfile( tofind : re , replacewith : list, inpath : str, outpath : str)
CLASS ARGUMENTS:
  • tofind - is of type re or regular expression which is used to find/define portions of the file to be replaced with

    See https://docs.python.org/3/howto/regex.html for more info on regular expressions

  • replacewith - is a list that should contain either a string or an integer. This list will be rendered in ascending order as replacement for the objects found through regex. An integer refers to the grouping order in a regex query.

    • For example:

      If a file contains 'The quick brown fox' and after regex operations (quick,fox) is obtained, The file's contents can be replaced by assigning a replacewith list formatted as ["A ",0," yellow ",1]. The integers' 0 and 1 represent quick and fox, and when rendered 'A quick yellow fox' is obtained

  • inpath - is a string filepath for the file to be read

  • outpath - is an optional string filepath for the file to be written after operations are done. If not specified the inpath is set as the outpath and changes will overwrite the file.

CLASS METHODS:
  • scuttle() - opens the file specified by inpath as read and returns the regular expression findall() list of the tofind argument

  • sculpt() - executes the scuttle method and then executes the replacement specified by replacewith. Writes the result to the file specified in outpath

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

filesculpt-0.0.6.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

filesculpt-0.0.6-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file filesculpt-0.0.6.tar.gz.

File metadata

  • Download URL: filesculpt-0.0.6.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for filesculpt-0.0.6.tar.gz
Algorithm Hash digest
SHA256 ddc0bbd10c21bfcb3eca7fc719b5cb24275826ebfa92f4d605b500f01eb76176
MD5 5688dcbafd56cc623dd01b2427f9a124
BLAKE2b-256 c6b8f5d47b859169ff9ffb9602cd211a760d2f39fb396b725e65f13bb759bf0f

See more details on using hashes here.

File details

Details for the file filesculpt-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: filesculpt-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for filesculpt-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 b31227c6ce62bfd0e90cbf9108333ed1e795e5ea440e258ca80d468fac7d634e
MD5 6b2cdb3a9ba17417156d381b7ef4cab2
BLAKE2b-256 ece12b1fb0a35e484bfd70ae5d7e0f7703550a0e59dd6dafdfbb9bc27ece31a3

See more details on using hashes here.

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