-
Notifications
You must be signed in to change notification settings - Fork 0
Examples
- WithEOL: python:
- WithCustomDelims: python:
We will use this example file test.txt
With cat -e test.txt:
[Warning]:Entity not found$
[Error]:Unable to recover data$
[Info]:Segfault$
[Warning]:Indentation$
[Error]:Memory leaks$
[Info]:Entity not found$
[Warning]:Unable to recover data$
$
[Error]:Segfault$
[Info]:Indentation$
[Warning]:Memory leaks$1\ Simple head (can be change to tail) Code:
import file_utils_lib
path: str = "my_path_to_file"
n: int = 2 # Number of lines to read
try:
head: list = file_utils_lib.WithEOL.head(path=path, n=n)
print(head)
except:
print("Unable to open/read the file")Stdout:
['[Warning]:Entity not found', '[Error]:Unable to recover data']Code:
import file_utils_lib
path: str = "my_path_to_file"
n: int = 2 # Number of lines to read
try:
tail: list = file_utils_lib.WithEOL.tail(path=path, n=n)
print(tail)
except:
print("Unable to open/read the file")Stdout:
['[Info]:Indentation', '[Warning]:Memory leaks']Code:
import file_utils_lib
path: str = "my_path_to_file"
n1: int = 2 # First line to read
n2: int = 4 # Last line to read
try:
between: list = file_utils_lib.WithEOL.between(path=path, n1=n1, n2=n2)
print(between)
except:
print("Unable to open/read the file")Stdout:
['[Error]:Unable to recover data', '[Info]:Segfault', '[Warning]:Indentation']Code:
import file_utils_lib
path: str = "my_path_to_file"
try:
parse: list = file_utils_lib.WithEOL.parse(path=path)
print(parse)
except:
print("Unable to open/read the file")Stdout:
['[Warning]:Entity not found', '[Error]:Unable to recover data', '[Info]:Segfault', '[Warning]:Indentation', '[Error]:Memory leaks', '[Info]:Entity not found', '[Warning]:Unable to recover data', ' ', '[Error]:Segfault', '[Info]:Indentation', '[Warning]:Memory leaks']Code:
import file_utils_lib
path: str = "my_path_to_file"
try:
count: list = file_utils_lib.WithEOL.count_lines(path=path)
print(count)
except:
print("Unable to open/read the file")Stdout:
11With remove_empty_string enable:
Code:
import file_utils_lib
path: str = "my_path_to_file"
n: int = 4 # First line to read
try:
tail: list = file_utils_lib.WithEOL.tail(path=path, n=n, remove_empty_string=True)
print(tail)
except:
print("Unable to open/read the file")Stdout:
['[Warning]:Unable to recover data', '[Error]:Segfault', '[Info]:Indentation', '[Warning]:Memory leaks']With remove_empty_string disable (default option):
Code:
import file_utils_lib
path: str = "my_path_to_file"
n: int = 4 # First line to read
try:
tail: list = file_utils_lib.WithEOL.tail(path=path, n=n, remove_empty_string=False)
print(tail)
except:
print("Unable to open/read the file")Stdout:
[' ', '[Error]:Segfault', '[Info]:Indentation', '[Warning]:Memory leaks']Code:
import file_utils_lib
path: str = "my_path_to_file"
n: int = 4 # First line to read
try:
head: list = file_utils_lib.WithEOL.head(path=path, n=n, remove_empty_string=False, regex_keep=["\[Warning\]:*", "\[Error\]:*"])
print(head)
except:
print("Unable to open/read the file")Stdout:
['[Warning]:Entity not found', '[Error]:Unable to recover data', '[Warning]:Indentation']Why there is just 3 elements instead of 4? You should look at the restrict option
Code:
import file_utils_lib
path: str = "my_path_to_file"
n: int = 4 # First line to read
try:
head: list = file_utils_lib.WithEOL.head(path=path, n=n, remove_empty_string=False, regex_pass=["\[Warning\]:*", "\[Error\]:*"])
print(head)
except:
print("Unable to open/read the file")Stdout:
['[Info]:Segfault']Why there is just 3 elements instead of 4? You should look at the restrict option
With restrict disable:
Code:
import file_utils_lib
path: str = "my_path_to_file"
n: int = 4 # First line to read
try:
head: list = file_utils_lib.WithEOL.head(path=path, n=4, remove_empty_string=False, regex_keep=["\[Warning\]:*", "\[Error\]:*"], restrict=False)
print(head)
except:
print("Unable to open/read the file")Stdout:
['[Warning]:Entity not found', '[Error]:Unable to recover data', '[Warning]:Indentation', '[Error]:Memory leaks']With restrict enbale(default):
Code:
import file_utils_lib
path: str = "my_path_to_file"
n: int = 4 # First line to read
try:
head: list = file_utils_lib.WithEOL.head(path=path, n=4, remove_empty_string=False, regex_keep=["\[Warning\]:*", "\[Error\]:*"], restrict=True)
print(head)
except:
print("Unable to open/read the file")Stdout:
['[Warning]:Entity not found', '[Error]:Unable to recover data', '[Warning]:Indentation']It it like WithEOL but with a list of custom delimiter. For example:
import file_utils_lib
path: str = "my_path_to_file"
n: int = 2 # Number of lines to read
try:
head: list = file_utils_lib.WithEOL.head(path=path, n=n)
print(head)
except:
print("Unable to open/read the file")Stdout:
['[Warning]:Entity not found', '[Error]:Unable to recover data']has the same behavious as
import file_utils_lib
path: str = "my_path_to_file"
n: int = 2 # Number of lines to read
try:
head: list = file_utils_lib.WithCustomDelims.head(path=path, n=n, delimiter=['\n])
print(head)
except:
print("Unable to open/read the file")Stdout:
['[Warning]:Entity not found', '[Error]:Unable to recover data']So, you use it as same as WithEOL but with a list of custom delimiter.
All string can be used like:
- ";"
- "abc"
- "éà"
- ::
- "小六号"
- "毫"
If my file contains:
;À ;la ;;
pêche éèaux moules, @moules, ::小六号moules::Je n'veux小六号 plus ::y
aller éèmaman小六号We'll have with ";", "\n", "éè", "@", "小六号", "::"
import file_utils_lib
path: str = "my_path_to_file"
try:
parse: list = file_utils_lib.WithCustomDelims.parse(path=path, delimiter=[";", "\n", "éè", "@", "::"])
print(parse)
except:
print("Unable to open/read the file")Stdout
['', 'À ', 'la ', '', '', 'pêche ', 'aux moules, ', 'moules, ', '', 'moules', "Je n'veux", ' plus ', 'y ', 'aller ', 'maman', '']