下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。
内存溢出小编现在分享给大家,也给大家做个参考。
#!/usr/bin/env python# enCoding: utf-8"""MonitorLog.pyUsage: MonitorLog.py ...Monitor the log file-f log file-h help infopython MonitorLog.py -f C:\monitor.logCreated by zhoubo on 2011-08-29."""import sysimport osimport getoptimport subprocessimport timeimport codecsimport winsoundABSPATH = os.path.dirname(os.path.abspath(__file__))MONITERCONF = 'moniter_keyword.txt' #utf8 filedef main(): try: opts,args = getopt.getopt(sys.argv[1:],'hf:') except getopt.GetoptError,err: print str(err) print __doc__ return 1 path = '' for k,v in opts: if k == '-f': path = v elif k == '-h': print __doc__ return 0 if not (path and os.path.exists(path)): print 'InvalID path: %s' % path print __doc__ return 2 #命令行元组 cmd = ('tail','-f',path) print ' '.join(cmd) output = subprocess.Popen(cmd,stdout=subprocess.PIPE) keywordMap = {} #加载监控的关键字信息 with codecs.open(os.path.join(ABSPATH,MONITERCONF),'r','utf8') as f: lines = f.readlines() for line in lines: line = line.strip() if not line: continue keyword,wav = line.strip().split(':') keywordMap[keyword] = wav while True: line = output.stdout.readline() #process code,得到输出信息后的处理代码 if not line: time.sleep(0.01) continue line = line.strip().decode('utf8') print line for keyword in keywordMap: if line.find(keyword) > -1: winsound.PlaySound(keywordMap[keyword],winsound.SND_NODEFAulT) #time.sleep(0.01) return 0if __name__ == '__main__': sys.exit(main())
以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
总结以上是内存溢出为你收集整理的Windows下python监控脚本全部内容,希望文章能够帮你解决Windows下python监控脚本所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)