我正在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
删除它?
答案 0 :(得分:5)
os.system
返回您运行的命令的退出代码,在这种情况下似乎为0。
该命令的输出直接转到stdout
,并且未存储在last_run_start
中,如果您希望使用Popen
或check_output
来自0
3}}模块。
我想last_run_start
最终会被打印,因为您正在打印{{1}} somwhere。