highlight change color of words in a file to std.out.
I wanted a way for the color of the similar words I find to be highlighted when you print the file. print() in python is basically std.out()
so here's the bit I added to the previous post to make the similar words green when it prints out to command shell. I also added a line count, cause thats handy too.
update: I realized there was a bug in the original. Lists did not properly highlight the original word correctly, or the whole word like I wanted it to. 11-25-2017
The whole parser is in the newer posts. CTRL F with parser python
args.file is the file it reads
args.similate is the word searched for
args.ignore is to tell the parser to ignore Case of letters
def highlight(args):
with open(args.file) as f:
linecount = 0
count = 0
# green
stop_color = '\x1b[0m'
color = '\x1b[1;32;40m'
# blue highlighted
solidblue = '\x1b[2;30;46m'
for line in f:
index = 0
linecount += 1
newline = line.split()
if not args.ignore:
for words in newline:
current = newline[index]
index += 1
if args.similate in current:
words = args.similate
count += 1
newcolor = color + words + stop_color
line = line.replace(words, newcolor)
#print(current)
elif args.ignore:
for words in newline:
current = newline[index]
current1 = current.lower()
similate1 = args.similate
similate1 = similate1.lower()
index += 1
if similate1 in current1:
count += 1
newcolor = color + current + stop_color
line = line.replace(current, newcolor)
print(f"{linecount} {line}", end='')
print(f" \n {solidblue} similarity count = {count}{stop_color} ")
so here's the bit I added to the previous post to make the similar words green when it prints out to command shell. I also added a line count, cause thats handy too.
update: I realized there was a bug in the original. Lists did not properly highlight the original word correctly, or the whole word like I wanted it to. 11-25-2017
The whole parser is in the newer posts. CTRL F with parser python
args.file is the file it reads
args.similate is the word searched for
args.ignore is to tell the parser to ignore Case of letters
def highlight(args):
with open(args.file) as f:
linecount = 0
count = 0
# green
stop_color = '\x1b[0m'
color = '\x1b[1;32;40m'
# blue highlighted
solidblue = '\x1b[2;30;46m'
for line in f:
index = 0
linecount += 1
newline = line.split()
if not args.ignore:
for words in newline:
current = newline[index]
index += 1
if args.similate in current:
words = args.similate
count += 1
newcolor = color + words + stop_color
line = line.replace(words, newcolor)
#print(current)
elif args.ignore:
for words in newline:
current = newline[index]
current1 = current.lower()
similate1 = args.similate
similate1 = similate1.lower()
index += 1
if similate1 in current1:
count += 1
newcolor = color + current + stop_color
line = line.replace(current, newcolor)
print(f"{linecount} {line}", end='')
print(f" \n {solidblue} similarity count = {count}{stop_color} ")
Comments
Post a Comment