При выполнение через интерпретатор выводит в консоль число строк+“сигнализатор” выполненого условия на каждое условие, а после компиляции выводит только кол-во строк и все они “none”.Вот сам код:
# -*- coding: cp1251 -*-
import os
import linecache
conffile = "C:\event\config_monitor.conf"
mainscript = "C:\event\script.bat"
dcdiaglog = "dcdiag.log"
netviewlog = "netview.log"
processlog = "process.csv"
ipconfiglog = "ipconfig.log"
file = open(mainscript, "w")
def part(string):
string = string.strip("\t\n")
string = string.strip(" ")
tmp_result=string.partition("=")
return tmp_result[2]
def dcdiag(string):
if string == "1,1":
file.write("dcdiag \\q >> "+dcdiaglog+"\nxcode -w "+dcdiaglog+" "+dcdiaglog+"\n")
elif string == "1,0":
file.write("dcdiag >> "+dcdiag.log+"\nxcode -w "+dcdiaglog+" "+dcdiaglog+"\n")
def event(string):
tmp = string.partition(";")
if tmp[0] =="sys,app" or "app,sys":
file.write("psloglist app,sys -f " +tmp[2] + "\n")
else:
file.write("psloglist " + tmp [0] + " -f " + tmp[2] + "\n")
def netview(string):
if string == "1":
file.write("net view >>"+netviewlog+"\nxcode -w "+netviewlog+" "+netviewlog+"\n")
def processlist(string):
if string == "1":
file.write("tasklist /v /FO CSV "+processlog+"\nxcode -w"+processlog+" "+processlog+"\n")
def ipconfig(string):
if string == "1,1":
file.write("ipconfig \\all >> "+ipconfiglog+"\nxcode -w "+ipconfiglog+" "+ipconfiglog+"\n")
elif string == "1,0":
file.write("ipconfig \\all >> "+ipconfiglog+"\nxcode -w "+ipconfiglog+" "+ipconfiglog+"\n")
linerange = sum(1 for l in open(conffile, 'r'))
print linerange
i=1
while i<linerange+1:
line = linecache.getline(conffile, i)
if line.find("dcdiag")!=-1:
print "dcdiag"
dcdiag(part(line))
elif line.find("eventlog")!=-1:
print "event"
event(part(line))
elif line.find("net_view")!=-1:
print "net_view"
netview(part(line))
elif line.find("processlist")!=-1:
print "processlist"
processlist(part(line))
elif line.find("ipconfig")!=-1:
print "ipconfig"
ipconfig(part(line))
else:
print "none" + str(i)
i+=1
processlist=1
eventlog=app,sys;we
net_view=1
dcdiag=1,1
ipconfig=1,1