【问题标题】:Printing specific lines of log file - Python打印日志文件的特定行 - Python
【发布时间】:2016-01-19 09:11:31
【问题描述】:

我想从日志中打印文件的特定内容.. 对于文件中的每一行 - 打印整行。而不是这个

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

这很好用。

如果我想更具体地了解该行: if "Trace log : {"request":{"http"":然后打印trace日志内容;得到一个错误。

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

SyntaxError: 无效语法

任何帮助将不胜感激。

【问题讨论】:

  • 改用这个:'Trace log : {"request":{"http"'(注意单引号)。或者您可以引用内部 ": "Trace log : {\"request\":{\"http\""
  • 我附上了一个示例日志。我也正在获取跟踪日志之前的数据。我只想要跟踪日志的内容..
  • 你看过我的第一条评论了吗?
  • 是的,请阅读。当我尝试打印全部内容时(不仅是跟踪日志数据)
  • 你应该修改条件,if 'Trace log : {"request":{"http"'总是评估为True

标签: python python-2.7


【解决方案1】:

@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"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 2017-07-03
    • 2019-11-30
    相关资源
    最近更新 更多