Skip to main content

an easy way to read and write files in python

Project description

how to use easyfileio

easyfileio is a simple program that makes inputs and outputs of file simple and easy.

installation

write this in command prompt

pip install easyfileio

or

python -m pip install easyfileio

how to use

making an object

you must first create an object that you can use to operate file. Use content to make this object, like

example = easyfile.content('folderpath/folderpath', 'examplefile.txt')

This will create an object for the file you want to operate on. Even if you don't have the file yet, it will automatically create the file and the folder path for you. If you leave 'folderpath/folderpath' as '' or None, the file would be created in the current directory. If you leave out the file name, it would just create the file folder path.

By default, easyfile uses a utf-8 encoding to read and write files. If you want to customize this, just write encoding='encoding_type' in content.

Example:

example = easyfile.content('folderpath/folderpath', 'examplefile.txt', encoding='shift-jis')

You also can make the file read-only by using lock=True in content. the file would still be able to read your file, but it would not be able to be written in manually.

Example:

example = easyfile.content('folderpath/folderpath', 'examplefile.txt', lock=True')

fetching file

you can fetch the contents of the file with example.fetch(). It strips all of the escape sequences, but you can use no_strip=True to automatically keep all of the escape sequences.

Example:

example.fetch(no_strip=True)

Executing this first is recommended (not required).

saving strings

you can save strings with example.save('string to save'). it would automatically save the string you input. Saving a list would be explained later. It will automatically write the string in a new line in the file, but you can overwrite, and write in the same line if you want. To overwrite file, simply write overwrite=True. To write in the same line as before, just write, sameLN=True. You can also lock or unlock your file by using lock=True/False

Example:

example.save('string to save', overwrite=True, sameLN=True, lock=False)

changing content in file

use example.change(line_index, 'changed line') to change lines in code. You can lock or unlock your file by using lock=True/False

example:

example.change(0, 'first line')

removing content in file

example.delete(line_index') to change lines in code. You can lock or unlock your file by using lock=True/False

example:

example.delete(0)

removing file altogether

use delete_file() to remove file. You can still useexample.save('save string') since it automatically creates file path.

Example:

sample.delete_file()

saving lists

You can indeed save lists by using stringify_list(['list', 'to', 'save'], parsing_sign). parsing_sign must be one character. stringify_list would handle edge cases like stringify_list(['list', 'to:save', 'to:list'], ':') by multiplying the parsing_sign.

Example:

>>> stringify_list(['list', 'to:save', 'to:list'], ':')
output: list:to::save:to::list

loading lists

after you've saved a list, you might want to load the list. When loading the list, use de_stringify_list(string_to_load, parsing_sign). It would load the list by parsing the string, handling edge cases.

Example:

>>> stringify_list('list:to::save:to::list', ':')
output: ['list', 'to:save', 'to:list']

limitations

limitations for content.save()

because it opens and closes file every time using this function, it is recommended to merge strings first before using this function. For instance, if you want to save:

first line
second line
third line

and you write:

example.save('first line')
example.save('second line')
example.save('third line')

it would be cost-inefficient. rather, use \n and write:

save_string = 'first line\n'
save_string += 'second line\n'
save_string += 'third line\n'

example.save(save_string)

limitations for stringify_list()

because this isn't really as robust as JSON files, this can only save lists. when you want to save a variable name and a list, write:

string_one = True
string_two = 2
string_three = 'three'
string_three_to_save = easyfile.stringify_list([string_three], ':')
#only write stringify_list on elements you know are going to have strings and edge cases on it

save_string = f'string_one:{string_one}\nstring_two:{string_two}\nstring_three:{string_three_to_save}'

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

easyfileio-1.21.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

easyfileio-1.21-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file easyfileio-1.21.tar.gz.

File metadata

  • Download URL: easyfileio-1.21.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for easyfileio-1.21.tar.gz
Algorithm Hash digest
SHA256 b4a41849e3184a284efea0d0a3e0f3b889d36105456ea98d9838ed051c8b217c
MD5 26b3501a1d40338b1ce638cd82e4d21c
BLAKE2b-256 6615f2250ba80caade56b6497a208a56308a4d896c8ff206eeee1156518977fd

See more details on using hashes here.

File details

Details for the file easyfileio-1.21-py3-none-any.whl.

File metadata

  • Download URL: easyfileio-1.21-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for easyfileio-1.21-py3-none-any.whl
Algorithm Hash digest
SHA256 9edfc95b7e1f5a2b54fd75b32c4ce85f91b36bc89fd5eae60ec7c3171730993a
MD5 08ccff1159599230c88d725bafa88692
BLAKE2b-256 aeba4d2e82cd5efec71f1c42d38fec389398c6a24384593ac088dc72747bbb7f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page