2016-03-26 26 views
-2

'dan metin yerine ikili dizeler halinde veri okur. Bilgisayar günlüklerine sahip bir dosyam var. Ben ++ not defterinde açtığınızda, ilk birkaç satır şuna benzer - ŞimdiPython, günlük dosyası

##################### 
[2015/07/03, 13:26:40.368, INFO, 00004588] Legacy mode. Epoch number not found. Allowing message. 
[2015/07/03, 13:26:40.368, INFO, 00004588] >>>AgentGetState() called. 
[2015/07/03, 13:26:40.368, INFO, 00004588] AgentGetState Returning 00000000.<<< 
[2015/07/03, 13:26:54.660, INFO, 00010404] Subject name = am4prdapp09.fc.core.windows.net 
[2015/07/03, 13:26:54.660, INFO, 00010404] Legacy mode. Epoch number not found. Allowing message. 
###################### 

, ben şöyle piton onları okumak -

f = open("log_file.log") 
a = [] 
for i in f: 
    a.append(i) 

Şimdi içeriğine baktığımızda:

a[0] 

Bu gördüklerimi edilir -

'\xff\xfe[\x002\x000\x001\x005\x00/\x000\x007\x00/\x000\x003\x00,\x00 \x001\x003\x00:\x002\x006\x00:\x004\x000\x00.\x003\x006\x008\x00,\x00 \x00 \x00I\x00N\x00F\x00O\x00,\x00 \x000\x000\x000\x000\x004\x005\x008\x008\x00]\x00 \x00 
\x00j\x00e\x00c\x00t\x00 \x00n\x00a\x00m\x00e\x00 \x00=\x00 \x00a\x00m\x004\x00p\x00r\x00d\x00a\x00p\x00p\x000\x009\x00.\x00f\x00c\x00.\x00c\x00o\x00r\x00e\x00.\x00w\x00i\x00n\x00d\x00o\x00w\x00s\x00.\x00n\x00e\x00t\x00\r\x00\n' 

Neyi özlüyorum?

+5

dosyanın kodlaması nedir? – MaxNoe

+0

ve python sürümünüz nedir? –

+0

Benim için iyi çalışıyor ... 'a [0]' = '#####################' – Signal

cevap

2

Dene:

f = open("log_file.log", 'r') 
data = f.readlines() 
for i in data: 
    print i 
>>> line 
>>> ... 
>>> ... 
+0

'ile açmalısınız ...' – MaxNoe

+0

Python'un dosya nesnelerinin başlaması yinelenebilir. 'F' için (ya da daha betimleyici olarak, 'f 'satırında) yapmalısınız. 'Readlines()' i çağırmanın tek nedeni, ilk olarak tüm şeyi ön yükleme maliyetini hafızaya almak istemenizdir. –

İlgili konular