簡體   English   中英

在Python中的日志文件中讀取/寫入特定行的問題

[英]Issue reading / writing specific lines within a log file in Python

我正在嘗試從日志文件中打印包含單詞的行。

我已經進行了一些研究,但到目前為止還沒有找到實現此目標的好方法。

我目前有以下代碼:

FileInput = open(FILE, "r", encoding='utf-8')

for line in FileInput:
    if "DATA: " in line:
        print line

環顧四周后,這似乎是大多數人的操作方式,但出現以下錯誤:TypeError:強制轉換為Unicode:需要字符串或緩沖區,找到了NoneType。

我從“ DATA:”知道設置的長度,並且該行以十六進制值0A結尾。

您的FILE變量沒有包含正確的字符串(我們可以看到該字符串的值嗎?您可以在嘗試打開文件並將結果粘貼到此處之前執行“ print(FILE)”嗎?),或者文件未以與utf-8兼容的方式。 嘗試在良好的編輯器(例如jEdit或Notepad ++)中將其打開,然后查看編輯器告訴您的內容,然后指定該編碼而不是utf。

看來您需要使用

import codecs
f = codecs.open(FILE, encoding='utf-8', mode='r')

在這里看看Unicode HOWTO

嘗試這個:

FileInput = open(FILE, "r")
for line in FileInput:
    if "DATA: " in line:
        print(line)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM