Python Forum

Full Version: It does truncatte where i would ...
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello !

I tried to do something that truncatte a list of strings but i doesn't truncate where i would to.

I show you what i would like:

(https://prnt.sc/qgww3f)
In the red rectangle is the thing i'd like to delete, but here what i have:

(https://prnt.sc/qgwwui)
How can I delete those ":" please ?

Here is the code:

import re

i = 0
fileString = input("Nom du fichier qui doit etre clean: ")
fileString = fileString.translate({ord('"'): None})
file = open(fileString, "r+")
logs = []
for line in file:
	if i < 4:
		i += 1
	else:
		logs.append(line[line.find(":"):])
file.seek(0)
file.truncate()
file.writelines(logs)
file.close()

Thank you for answering :) ♥
I don’t understand what and why this code does. But it seems to me that the way rows are structured enables simple approach to get needed part of string:

>>> s = “0xc624 (4): 1842”
>>> s.rsplit(maxsplit=1)[1]
1842
(Dec-28-2019, 09:45 PM)perfringo Wrote: [ -> ]I don’t understand what and why this code does. But it seems to me that the way rows are structured enables simple approach to get needed part of string:

>>> s = “0xc624 (4): 1842”
>>> s.rsplit(maxsplit=1)[1]
1842

I just would like the start of the strings to be removed until "(x):"
And sometimes, there is others things like "0x4562"
From sample data I observe that needed part of the string is after first space from right. If so to the whole dataset then rsplit is obvious choice.