我知道如何使用文件执行此操作,您只需执行file = file.open(f)f
file = open("file.txt")
for line in file.readlines():
if line.startswith("foo"):
print line
但现在我正在阅读像这样的过程的输出
log = os.popen("log.sh").read()
这输出为一个字符串,可以与打印精细一起使用,但是如果我执行“for log in log”它会分割每个字符,而不是行。而且,作为一个字符串,没有.readlines()属性。
我的最终目标是能够“grep”日志中的修订号并打印该行(以及上方和下方)
答案 0 :(得分:9)
for line in log.splitlines():
# whatever
请注意,您不需要将f.readlines()
用于文件f
。
for line in f:
# whatever
会正常工作。
答案 1 :(得分:6)
您有几种选择:
选项1 :
log = os.popen("log.sh").readlines()
这给出了一个字符串列表,您可以像处理文件时那样处理它。
选项2 :
log = os.popen("log.sh").read()
for line in log.splitlines(True):
...