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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4a41849e3184a284efea0d0a3e0f3b889d36105456ea98d9838ed051c8b217c
|
|
| MD5 |
26b3501a1d40338b1ce638cd82e4d21c
|
|
| BLAKE2b-256 |
6615f2250ba80caade56b6497a208a56308a4d896c8ff206eeee1156518977fd
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9edfc95b7e1f5a2b54fd75b32c4ce85f91b36bc89fd5eae60ec7c3171730993a
|
|
| MD5 |
08ccff1159599230c88d725bafa88692
|
|
| BLAKE2b-256 |
aeba4d2e82cd5efec71f1c42d38fec389398c6a24384593ac088dc72747bbb7f
|