Skrypt do wyciagniecia jednej danej z cudzysłowia

Odpowiedz Nowy wątek
2018-10-11 13:32
Uczynny Pomidor
0

Ogólnie otrzymuje plik z logów i musze z niego wyjac "idImageFront" i wszystko co jest w jego cudzysłowie ( jest to base64 image ); w pliku jak to w logach jest duzo lini i duzo cudzysłowiów; przykład logów:

\"documentTypeSize\" : \"TD3\",\n  \"sessionID\" : \"0f1d40bf-4c2f-4b50-8eea-4256d8023376\",\n  \"idImageFront\" : \"/9j/4AAQSkZJRgABAQAAS<i tutaj pare mega znakow>"
#!/usr/bin/python
import os,sys,time,subprocess,select,re

f1 = open('myFile.txt', 'a+')
counter = 10
#quoted = re.compile('"[^"]*"')
with open('plikKtoryCzytam.txt') as f:
                for line in f:
                    if "idImageFront" in line:
                        f1.write('\n')
                        st = re.findall(r'"([^"]*)"', line)
                        f1.write(st)
f1.close()
print "**********ENDING THE SCRIPT************"

Pozostało 580 znaków

2018-10-11 13:34
Uczynny Pomidor
0

stworzyłem taki skrypt ale nie działa do końca tak jak bym chciał - ktoś ma pomysły na korektę ?

Pozostało 580 znaków

2018-10-11 16:40
0

Będzie?

import re
 
t = '\"documentTypeSize\" : \"TD3\",\n  \"sessionID\" : \"0f1d40bf-4c2f-4b50-8eea-4256d8023376\",\n  \"idImageFront\" : \"/9j/4AAQSkZJRgABAQAAS\"'
 
def readIdImageFront(line):
    return re.findall("\"(.+?)\"", line)[1]
 
for line in t.split("\n"):
    if "idImageFront" in line:
        print (readIdImageFront(line))

Wypisuje /9j/4AAQSkZJRgABAQAAS

edytowany 2x, ostatnio: Spine, 2018-10-11 16:41

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0