2016-01-19 67 views
1

我想從日誌中打印文件的特定內容.. 對於文件中的每一行 - 打印整行。代替th打印日誌文件的特定行 - Python

with open(sys.argv[1], 'r') as f: 
    for line in f: 
     if "Trace log :" in line: 
      print line 

這工作正常。

如果我想更詳細地描述該行: if "Trace log : {"request":{"http"":然後打印跟蹤日誌內容;出錯。

if "Trace log : {"request":{"http"": 
         ^

語法錯誤:無效的語法

任何幫助,將不勝感激。

+4

改爲使用此參數:''Trace log:{「request」:{「http」''(note single quotation)。或者你可以引用* internal *'「':'」跟蹤日誌:{\「request \」:{\「http \」「' – Maroun

+0

我附上了一個樣本日誌,我得到跟蹤之前的數據我只想跟蹤日誌的內容 –

+0

您是否看過我的第一條評論? – Maroun

回答

3

@Maroun回答這是在評論,我寫這封信以供將來參考答案:

的字符串可能不包含用於啓動它的報價:

>>> 'foo' # OK 
'foo' 
>>> 'fo'' # Starts with ' and has ' inside, NOT OK 
SyntaxError: EOL while scanning string literal 

或者使用另一種起始報價或者跳過內部報價:

>>> "fo'o" 
"fo'o" 
>>> 'fo\'o' 
"fo'o"