Hallo Tweakers.
Op dit moment ben ik bezig om met behulp van Python een bestand uit te lezen. Hierbij heb ik lang niet alle regels van dat bestand nodig. Daarom gebruik ik het pythonscript om maar de regels uit te printen (een latere stap is een verder verwerking van de gegevens, echter is dat niet het huidige probleem).
Het volgende bestand wordt uitgelezen
Hierbij moet regel 11 t/m regel 15 uiteindelijk uitgeprint worden.
Op dit moment heb ik daarvoor het volgende script wat niet helemaal werkt:
Als ik het script uitvoer dan werkt het begin printen van dst address perfect. Echter het printen tot %LRU werkt niet. Het script blijft het bestand uitprinten totdat het het eind van het bestand heeft bereikt. Daarnaast komt de uitvoer in raw data eruit. Liever zou ik iets vinden om de data op dezelfde manier eruit te krijgen als het in het bestand staat. Op dit moment ziet de uitvoer er namelijk zo uit:
[code]
['[dst address] 13270709 (100.00%)\n', '0.0.0.0/0 2001 (0.02%/99.97%)\n', ' 192.168.56.1 10504084 (79.15%)\n', ' 192.168.56.102 2760880 (20.80%)\n', '::/0 3744 (0.03%/0.03%)\n', '%LRU hits: 99.99% (77920/77925) reclaimed: 0\n', '[ip:proto:srcport] 13270709 (100.00%)\n', '0/0:0:0 5745 (0.04%/100.00%)\n', '4:6:0/0 159094 (1.20%/99.96%)\n', ' 4:6:80 10503950 (79.15%)\n', ' 4:6:57344/4 655360 (4.94%/9.88%)\n', ' 4:6:57344/6 327680 (2.47%/2.47%)\n', ' 4:6:60416/6 327680 (2.47%/2.47%)\n', ' 4:6:61440/5 655540 (4.94%/4.94%)\n', ' 4:6:63488/5 326600 (2.46%/4.79%)\n', ' 4:6:64512/6 155140 (1.17%/2.33%)\n', ' 4:6:65024/7 153920 (1.16%/1.16%)\n', '%LRU hits: 78.04% (60809/77925) reclaimed: 33722\n', '[ip:proto:dstport] 13270709 (100.00%)\n', '0/0:0:0 102965 (0.78%/100.00%)\n', ' 4:6:80 2760820 (20.80%)\n', ' 4:6:49152/9 142788 (1.08%/1.08%)\n', ' 4:6:49280/9 151218 (1.14%/1.14%)\n', ' 4:6:49408/9 148666 (1.12%/1.12%)\n', ' 4:6:57344/6 618920 (4.66%/9.37%)\n', ' 4:6:57344/8 311458 (2.35%/2.35%)\n', ' 4:6:58112/8 312538 (2.36%/2.36%)\n', ' 4:6:58368/7 621404 (4.68%/4.68%)\n', ' 4:6:58880/7 629126 (4.74%/4.74%)\n', ' 4:6:59392/6 310432 (2.34%/9.43%)\n', ' 4:6:59648/8 314428 (2.37%/2.37%)\n', ' 4:6:59904/7 626156 (4.72%/4.72%)\n', ' 4:6:60416/8 314644 (2.37%/2.37%)\n', ' 4:6:60672/8 312106 (2.35%/2.35%)\n', ' 4:6:60928/7 621674 (4.68%/4.68%)\n', ' 4:6:61440/6 312052 (2.35%/9.39%)\n', ' 4:6:61440/8 311350 (2.35%/2.35%)\n', ' 4:6:61952/7 622376 (4.69%/4.69%)\n', ' 4:6:62464/6 624590 (4.71%/9.39%)\n', ' 4:6:62464/7 621188 (4.68%/4.68%)\n', ' 4:6:63488/6 315292 (2.38%/9.42%)\n', ' 4:6:63488/7 626534 (4.72%/4.72%)\n', ' 4:6:64256/8 307948 (2.32%/2.32%)\n', ' 4:6:64512/6 307894 (2.32%/9.27%)\n', ' 4:6:64768/8 307948 (2.32%/2.32%)\n', ' 4:6:65024/9 154082 (1.16%/1.16%)\n', ' 4:6:65152/9 154028 (1.16%/1.16%)\n', ' 4:6:65280/9 153812 (1.16%/1.16%)\n', ' 4:6:65408/9 152272 (1.15%/1.15%)\n', '%LRU hits: 82.06% (63945/77925) reclaimed: 27452\n', '\n']
Weet iemand een oplossing voor dat het printen niet stopt bij de %LRU en een oplossing voor het printen van de raw data.
Met vriendelijke groeten,
Zoek34 en Jacco5555
Op dit moment ben ik bezig om met behulp van Python een bestand uit te lezen. Hierbij heb ik lang niet alle regels van dat bestand nodig. Daarom gebruik ik het pythonscript om maar de regels uit te printen (een latere stap is een verder verwerking van de gegevens, echter is dat niet het huidige probleem).
Het volgende bestand wordt uitgelezen
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
| %!AGURI-1.0
%%StartTime: Thu Jun 05 12:50:18 2014 (2014/06/05 12:50:18)
%%EndTime: Thu Jun 05 12:51:18 2014 (2014/06/05 12:51:18)
%AvgRate: 1.77Mbps
[src address] 13270709 (100.00%)
192.168.56.1 2762881 (20.82%)
192.168.56.102 10504084 (79.15%)
::/0 3744 (0.03%/0.03%)
%LRU hits: 100.00% (77922/77925) reclaimed: 0
[dst address] 13270709 (100.00%)
0.0.0.0/0 2001 (0.02%/99.97%)
192.168.56.1 10504084 (79.15%)
192.168.56.102 2760880 (20.80%)
::/0 3744 (0.03%/0.03%)
%LRU hits: 99.99% (77920/77925) reclaimed: 0
[ip:proto:srcport] 13270709 (100.00%)
0/0:0:0 5745 (0.04%/100.00%)
4:6:0/0 159094 (1.20%/99.96%)
4:6:80 10503950 (79.15%)
4:6:57344/4 655360 (4.94%/9.88%)
4:6:57344/6 327680 (2.47%/2.47%)
4:6:60416/6 327680 (2.47%/2.47%)
4:6:61440/5 655540 (4.94%/4.94%)
4:6:63488/5 326600 (2.46%/4.79%)
4:6:64512/6 155140 (1.17%/2.33%)
4:6:65024/7 153920 (1.16%/1.16%)
%LRU hits: 78.04% (60809/77925) reclaimed: 33722
[ip:proto:dstport] 13270709 (100.00%)
0/0:0:0 102965 (0.78%/100.00%)
4:6:80 2760820 (20.80%)
4:6:49152/9 142788 (1.08%/1.08%)
4:6:49280/9 151218 (1.14%/1.14%)
4:6:49408/9 148666 (1.12%/1.12%)
4:6:57344/6 618920 (4.66%/9.37%)
4:6:57344/8 311458 (2.35%/2.35%)
4:6:58112/8 312538 (2.36%/2.36%)
4:6:58368/7 621404 (4.68%/4.68%)
4:6:58880/7 629126 (4.74%/4.74%)
4:6:59392/6 310432 (2.34%/9.43%)
4:6:59648/8 314428 (2.37%/2.37%)
4:6:59904/7 626156 (4.72%/4.72%)
4:6:60416/8 314644 (2.37%/2.37%)
4:6:60672/8 312106 (2.35%/2.35%)
4:6:60928/7 621674 (4.68%/4.68%)
4:6:61440/6 312052 (2.35%/9.39%)
4:6:61440/8 311350 (2.35%/2.35%)
4:6:61952/7 622376 (4.69%/4.69%)
4:6:62464/6 624590 (4.71%/9.39%)
4:6:62464/7 621188 (4.68%/4.68%)
4:6:63488/6 315292 (2.38%/9.42%)
4:6:63488/7 626534 (4.72%/4.72%)
4:6:64256/8 307948 (2.32%/2.32%)
4:6:64512/6 307894 (2.32%/9.27%)
4:6:64768/8 307948 (2.32%/2.32%)
4:6:65024/9 154082 (1.16%/1.16%)
4:6:65152/9 154028 (1.16%/1.16%)
4:6:65280/9 153812 (1.16%/1.16%)
4:6:65408/9 152272 (1.15%/1.15%)
%LRU hits: 82.06% (63945/77925) reclaimed: 27452 |
Hierbij moet regel 11 t/m regel 15 uiteindelijk uitgeprint worden.
Op dit moment heb ik daarvoor het volgende script wat niet helemaal werkt:
Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
| #!/usr/local/bin/python3 data=[] flag=False with open('datafile','r') as f: for line in f: if line.startswith('[dst address]'): flag=True if flag: data.append(line) if line.strip().endswith('%LRU'): flag=False print(data) |
Als ik het script uitvoer dan werkt het begin printen van dst address perfect. Echter het printen tot %LRU werkt niet. Het script blijft het bestand uitprinten totdat het het eind van het bestand heeft bereikt. Daarnaast komt de uitvoer in raw data eruit. Liever zou ik iets vinden om de data op dezelfde manier eruit te krijgen als het in het bestand staat. Op dit moment ziet de uitvoer er namelijk zo uit:
[code]
['[dst address] 13270709 (100.00%)\n', '0.0.0.0/0 2001 (0.02%/99.97%)\n', ' 192.168.56.1 10504084 (79.15%)\n', ' 192.168.56.102 2760880 (20.80%)\n', '::/0 3744 (0.03%/0.03%)\n', '%LRU hits: 99.99% (77920/77925) reclaimed: 0\n', '[ip:proto:srcport] 13270709 (100.00%)\n', '0/0:0:0 5745 (0.04%/100.00%)\n', '4:6:0/0 159094 (1.20%/99.96%)\n', ' 4:6:80 10503950 (79.15%)\n', ' 4:6:57344/4 655360 (4.94%/9.88%)\n', ' 4:6:57344/6 327680 (2.47%/2.47%)\n', ' 4:6:60416/6 327680 (2.47%/2.47%)\n', ' 4:6:61440/5 655540 (4.94%/4.94%)\n', ' 4:6:63488/5 326600 (2.46%/4.79%)\n', ' 4:6:64512/6 155140 (1.17%/2.33%)\n', ' 4:6:65024/7 153920 (1.16%/1.16%)\n', '%LRU hits: 78.04% (60809/77925) reclaimed: 33722\n', '[ip:proto:dstport] 13270709 (100.00%)\n', '0/0:0:0 102965 (0.78%/100.00%)\n', ' 4:6:80 2760820 (20.80%)\n', ' 4:6:49152/9 142788 (1.08%/1.08%)\n', ' 4:6:49280/9 151218 (1.14%/1.14%)\n', ' 4:6:49408/9 148666 (1.12%/1.12%)\n', ' 4:6:57344/6 618920 (4.66%/9.37%)\n', ' 4:6:57344/8 311458 (2.35%/2.35%)\n', ' 4:6:58112/8 312538 (2.36%/2.36%)\n', ' 4:6:58368/7 621404 (4.68%/4.68%)\n', ' 4:6:58880/7 629126 (4.74%/4.74%)\n', ' 4:6:59392/6 310432 (2.34%/9.43%)\n', ' 4:6:59648/8 314428 (2.37%/2.37%)\n', ' 4:6:59904/7 626156 (4.72%/4.72%)\n', ' 4:6:60416/8 314644 (2.37%/2.37%)\n', ' 4:6:60672/8 312106 (2.35%/2.35%)\n', ' 4:6:60928/7 621674 (4.68%/4.68%)\n', ' 4:6:61440/6 312052 (2.35%/9.39%)\n', ' 4:6:61440/8 311350 (2.35%/2.35%)\n', ' 4:6:61952/7 622376 (4.69%/4.69%)\n', ' 4:6:62464/6 624590 (4.71%/9.39%)\n', ' 4:6:62464/7 621188 (4.68%/4.68%)\n', ' 4:6:63488/6 315292 (2.38%/9.42%)\n', ' 4:6:63488/7 626534 (4.72%/4.72%)\n', ' 4:6:64256/8 307948 (2.32%/2.32%)\n', ' 4:6:64512/6 307894 (2.32%/9.27%)\n', ' 4:6:64768/8 307948 (2.32%/2.32%)\n', ' 4:6:65024/9 154082 (1.16%/1.16%)\n', ' 4:6:65152/9 154028 (1.16%/1.16%)\n', ' 4:6:65280/9 153812 (1.16%/1.16%)\n', ' 4:6:65408/9 152272 (1.15%/1.15%)\n', '%LRU hits: 82.06% (63945/77925) reclaimed: 27452\n', '\n']
Weet iemand een oplossing voor dat het printen niet stopt bij de %LRU en een oplossing voor het printen van de raw data.
Met vriendelijke groeten,
Zoek34 en Jacco5555