也许我在做一些很蠢的事,但有人能帮忙吗。我要做的就是统计一个文件。Python不会做到这一点,当我调试Python变量时,我可以在shell中使用它的输出进行统计。请参见以下内容:
[root@logmaster output]# cat /usr/local/nagios/libexec/check_logrip_log_not_stale.py
import os
import sys
import datetime
import time
# Nagios return values
nagiosRetValOk = 0
nagiosRetValWarn = 1
nagiosRetValCritical = 2
# Below is the filename I am after
#logrip-out-2016-03-19-1458386101
dateFormat = datetime.datetime.now().strftime("%Y-%m-%d")
logFormat = "/home/famnet/logs/output/logrip-out-%s-*" % dateFormat
print os.stat(logFormat)
以下是运行基本脚本时发生的情况:
^{pr2}$请原谅我,如果这是一个很容易浪费时间的专家。在
谢谢, 但是,当我获取打印调试的输出并在shell中运行时,它就起作用了。在
[root@logmaster output]# stat /home/famnet/logs/output/logrip-out-2016-03-19-*
File: `/home/famnet/logs/output/logrip-out-2016-03-19-1458386101'
Size: 42374797 Blocks: 82776 IO Block: 4096 regular file
Device: fd02h/64770d Inode: 36590817 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 504/ famnet) Gid: ( 1100/ staff)
Access: 2016-03-19 07:15:01.725794193 -0400
Modify: 2016-03-19 07:44:09.847793116 -0400
Change: 2016-03-19 07:44:09.847793116 -0400
os.stat
不会自动展开通配符。。。尝试使用glob
扩展通配符是许多常见shell的一个特性,例如本例中的
bash
。它不是os.stat
底层系统调用的功能。在如果要对多个文件调用
os.stat
,则必须首先列出它们(使用类似glob.glob
)的内容,然后按路径调用os.stat
。像这样:还要注意,带有通配符的路径可能会扩展到多个具体的路径,这可以使用命令行},后者只接受一个路径参数。在
STAT(1)
,但肯定会中断{相关问题 更多 >
编程相关推荐