使用os.system中的grep的Python将“0”行添加到变量中?

时间:2013-05-14 22:42:56

标签: python grep

我正在python脚本中运行grep,如下所示:

last_run_start = os.system("cat %(file)s | grep '[0-24]:[0-59]' | tail -n1" % locals())

其中提取file中的最后一个时间戳。当我通过Python命令行执行此操作,或通过常规终端使用该grep命令时,我得到了预期的结果 - 包含时间戳的最后一行。

但是,从此脚本运行last_run_start时会返回:

18:23:45

0

是什么原因导致这个'0'出现,更不用说新线了?更重要的是,如何从last_run_start删除它?

1 个答案:

答案 0 :(得分:5)

os.system返回您运行的命令的退出代码,在这种情况下似乎为0。

该命令的输出直接转到stdout,并且未存储在last_run_start中,如果您希望使用Popencheck_output来自0 3}}模块。

我想last_run_start最终会被打印,因为您正在打印{{1}} somwhere。