简体   繁体   English

Python 从日志文件中读取数据为二进制字符串而不是文本

[英]Python reads data as binary strings instead of text from log file

I have a file with computer logs.我有一个包含计算机日志的文件。 When I open it in notepad++, the first few lines look like this -当我在记事本++中打开它时,前几行看起来像这样 -

#####################
[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.
######################

Now, I read them in python like so -现在,我像这样在 python 中阅读它们 -

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

When I now look at the content:当我现在看内容时:

a[0]

This is what I see -这是我看到的——

'\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'

What am I missing?我错过了什么?

Try:尝试:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM