Coi统计数据程序:修订间差异
更多操作
无编辑摘要 |
无编辑摘要 |
||
| 第1行: | 第1行: | ||
== 主程序·RIA_COI_MAIN == | |||
<code>import tkinter as tk</code> | |||
<code>import tkinter.messagebox</code> | |||
<code>import os</code> | <code>import os</code> | ||
<code>import os.path</code> | <code>import os.path</code> | ||
<code>import tkinter.messagebox</code> | |||
<code>from PIL import ImageTk, Image</code> | |||
<code>from tkinter import filedialog</code> | |||
<code>import base64</code> | |||
<code>logID=""</code> | |||
<code>root=""</code> | |||
<code>TimeLog1=0</code> | |||
<code>TimeLog2=0</code> | |||
<code>config=""</code> | |||
<code>def is_number(s):</code> | <code>def is_number(s):</code> | ||
| 第41行: | 第64行: | ||
<code>break</code> | <code>break</code> | ||
<code> | <code>def go():</code> | ||
<code> | <code>logID=str(entry.get())</code> | ||
<code> | <code>root=filedialog.askopenfilename()</code> | ||
<code>TimeLog1=float( | <code>TimeLog1=float(entry_TimeLog1.get())</code> | ||
<code>TimeLog2=float( | <code>TimeLog2=float(entry_TimeLog2.get())</code> | ||
<code>config= | <code>config=tkinter.messagebox.askquestion("选择","是否删除x54的数据")</code> | ||
<code>data=open(str(root | <code>data=open(str(root),"r",encoding="UTF-8")</code> | ||
<code>len_logID=len(logID)</code> | <code>len_logID=len(logID)</code> | ||
| 第69行: | 第92行: | ||
<code>tag=[]</code> | <code>tag=[]</code> | ||
<code>for | <code>for mine in data:</code> | ||
<code>coi.append(str( | <code>coi.append(str(mine))</code> | ||
<code>for i in range(len(coi)):</code> | <code>for i in range(len(coi)):</code> | ||
<code> | <code>if len(coi[i])<=39:</code> | ||
<code>continue</code> | |||
<code>linex=coi[i].split(" ")</code> | |||
<code>if len(linex)<7:</code> | |||
<code>if | <code>continue</code> | ||
<code>linex=linex[4:]</code> | |||
<code>if linex[0]=="*" and linex[1]==logID and linex[2]=="统计结束\n":</code> | |||
<code>break</code> | <code>break</code> | ||
<code> | <code>elif linex[0]=="*" and linex[1]==logID and linex[2][:3]=="统计:":</code> | ||
<code>tag.append( | <code>tag.append(linex[2][3:].rstrip("\n"))</code> | ||
<code>coi2=[]</code> | <code>coi2=[]</code> | ||
| 第93行: | 第124行: | ||
<code>for l in range(i+1,len(coi)):</code> | <code>for l in range(i+1,len(coi)):</code> | ||
<code>if coi[l][40:45+ | <code>if coi[l][40:45+len(logID)]=="* "+logID+" 统计":</code> | ||
<code>break</code> | <code>break</code> | ||
| 第99行: | 第130行: | ||
<code>else:</code> | <code>else:</code> | ||
<code>t_f = is_number(coi[l][ | <code>t_f = is_number(coi[l][40])</code> | ||
<code>if t_f == True:</code> | <code>if t_f == True:</code> | ||
<code> | <code>liney=coi[l][40:]</code> | ||
<code>linex_list= | <code>linex_list=liney.split(" ")</code> | ||
<code>time=float(linex_list[0].rstrip("/h"))</code> | <code>time=float(linex_list[0].rstrip("/h"))</code> | ||
| 第223行: | 第254行: | ||
<code>for i in range(len(all_coi_value)):</code> | <code>for i in range(len(all_coi_value)):</code> | ||
<code>change.append( | <code>change.append(-(all_coi_value[i]))</code> | ||
<code>all_coi_value=change</code> | <code>all_coi_value=change</code> | ||
<code>log=open(str(root+" | <code>log=open(str(root.rstrip("coi.txt")+"result.txt"),"w+",encoding="UTF-8")</code> | ||
<code>btpr=""</code> | <code>btpr=""</code> | ||
| 第236行: | 第267行: | ||
<code>log.write(btpr)</code> | <code>log.write(btpr)</code> | ||
<code>change1=[]</code> | <code>change1=[]</code> | ||
| 第270行: | 第299行: | ||
<code>dic[n]=all_coi_value[l]</code> | <code>dic[n]=all_coi_value[l]</code> | ||
<code>for m in range(len(dic)):</code> | <code>for m in range(len(dic)):</code> | ||
| 第298行: | 第325行: | ||
<code>log.close()</code> | <code>log.close()</code> | ||
<code>tkinter.messagebox.showinfo("Congratulations!","数据处理完毕。")</code> | |||
<code>roo = tk.Tk()</code> | |||
<code>roo.title('RIA 援建数据处理系统GUI by Arthals')</code> | |||
<code>canvas = tk.Canvas(roo, width=769,height=432,bd=0, highlightthickness=0)</code> | |||
<code>from RIABG_png import img as socket</code> | |||
<code>imp = open('RIABG.png', 'wb')</code> | |||
<code>imp.write(base64.b64decode(socket))</code> | |||
<code>imp.close()</code> | |||
<code>imgpath = 'RIABG.png'</code> | |||
<code>img = Image.open(imgpath)</code> | |||
<code>photo = ImageTk.PhotoImage(img)</code> | |||
<code>canvas.create_image(0, 0, anchor="nw", image=photo)</code> | |||
<code>canvas.pack()</code> | |||
<code>entry=tk.Entry(roo,insertbackground='blue', highlightthickness =2)</code> | |||
<code><nowiki>'''</nowiki></code> | |||
<code>entry_root=tk.Entry(roo,insertbackground='blue', highlightthickness =2)</code> | |||
<code><nowiki>'''</nowiki></code> | |||
<code>entry_TimeLog1=tk.Entry(roo,insertbackground='blue', highlightthickness =2)</code> | |||
<code>entry_TimeLog2=tk.Entry(roo,insertbackground='blue', highlightthickness =2)</code> | |||
<code><nowiki>'''</nowiki></code> | |||
<code>entry_config=tk.Entry(roo,insertbackground='blue', highlightthickness =2)</code> | |||
<code><nowiki>'''</nowiki></code> | |||
<code>entry.pack()</code> | |||
<code><nowiki>'''</nowiki></code> | |||
<code>entry_root.pack()</code> | |||
<code><nowiki>'''</nowiki></code> | |||
<code>entry_TimeLog1.pack()</code> | |||
<code>entry_TimeLog2.pack()</code> | |||
<code><nowiki>'''</nowiki></code> | |||
<code>entry_config.pack()</code> | |||
<code><nowiki>'''</nowiki></code> | |||
<code>button=tkinter.Button(roo,text="进行统计",font=('黑体', 20),bg="green",command=go)</code> | |||
<code>button.pack()</code> | |||
<code>canvas.create_window(60, 50, anchor="nw",width=100, height=30,window=entry)</code> | |||
<code><nowiki>'''</nowiki></code> | |||
<code>canvas.create_window(120, 120, width=100, height=20,window=entry_root)</code> | |||
<code><nowiki>'''</nowiki></code> | |||
<code>canvas.create_window(60, 130, anchor="nw",width=70, height=25,window=entry_TimeLog1)</code> | |||
<code>canvas.create_window(60, 190, anchor="nw",width=70, height=25,window=entry_TimeLog2)</code> | |||
<code><nowiki>'''</nowiki></code> | |||
<code>canvas.create_window(120, 160, width=100, height=20,window=entry_config)</code> | |||
<code><nowiki>'''</nowiki></code> | |||
<code>canvas.create_window(720, 350,anchor="ne", width=235, height=60,window=button)</code> | |||
<code>roo.mainloop()</code> | |||
== 图片转换程序 == | |||
<code>import base64</code> | |||
<code>def pic2py(picture_name):</code> | |||
<code>"""</code> | |||
<code>将图像文件转换为py文件</code> | |||
<code>:param picture_name:</code> | |||
<code>:return:</code> | |||
<code>"""</code> | |||
<code>open_pic = open("%s" % picture_name, 'rb')</code> | |||
<code>b64str = base64.b64encode(open_pic.read())</code> | |||
<code>open_pic.close()</code> | |||
<code># 注意这边b64str一定要加上.decode()</code> | |||
<code>write_data = 'img = "%s"' % b64str.decode()</code> | |||
<code>f = open('%s.py' % picture_name.replace('.', '_'), 'w+')</code> | |||
<code>f.write(write_data)</code> | |||
<code>f.close()</code> | |||
<code>if __name__ == '__main__':</code> | |||
<code>pics = ["RIABG.png"]</code> | |||
<code>for i in pics:</code> | |||
<code>pic2py(i)</code> | |||
<code>print("ok")</code> | |||
2019年9月10日 (二) 03:37的版本
主程序·RIA_COI_MAIN
import tkinter as tk
import tkinter.messagebox
import os
import os.path
import tkinter.messagebox
from PIL import ImageTk, Image
from tkinter import filedialog
import base64
logID=""
root=""
TimeLog1=0
TimeLog2=0
config=""
def is_number(s):
try:
float(s)
return True
except ValueError:
return False
def replaceList(list1, num, replace):
list2 =[]
for i in range(len(list1)):
if i == num:
list2.append(replace)
else:
list2.append(list1[i])
return list2
def part(num,list1):
for i in range(len(list1)):
if num<=list1[i]:
return i
break
def go():
logID=str(entry.get())
root=filedialog.askopenfilename()
TimeLog1=float(entry_TimeLog1.get())
TimeLog2=float(entry_TimeLog2.get())
config=tkinter.messagebox.askquestion("选择","是否删除x54的数据")
data=open(str(root),"r",encoding="UTF-8")
len_logID=len(logID)
coi=[]
all_coi_name=[]
all_coi_value=[]
count=[]
all_coi={}
tag=[]
for mine in data:
coi.append(str(mine))
for i in range(len(coi)):
if len(coi[i])<=39:
continue
linex=coi[i].split(" ")
if len(linex)<7:
continue
linex=linex[4:]
if linex[0]=="*" and linex[1]==logID and linex[2]=="统计结束\n":
break
elif linex[0]=="*" and linex[1]==logID and linex[2][:3]=="统计:":
tag.append(linex[2][3:].rstrip("\n"))
coi2=[]
how={}
for l in range(i+1,len(coi)):
if coi[l][40:45+len(logID)]=="* "+logID+" 统计":
break
else:
t_f = is_number(coi[l][40])
if t_f == True:
liney=coi[l][40:]
linex_list=liney.split(" ")
time=float(linex_list[0].rstrip("/h"))
if TimeLog1<=time<=TimeLog2:
linex_list.remove("ago")
linex_list.remove("-")
linex_list.pop()
if config=="yes" and linex_list[3]=="x54":
continue
if linex_list[2]=="removed":
if linex_list[1] in how:
how[linex_list[1]]=how[linex_list[1]]-int(linex_list[3].lstrip("x"))
elif linex_list[1] not in how:
how[linex_list[1]]=-int(linex_list[3].lstrip("x"))
else:
print("Error")
break
if linex_list[2]=="added":
if linex_list[1] in how:
how[linex_list[1]]=how[linex_list[1]]+int(linex_list[3].lstrip("x"))
elif linex_list[1] not in how:
how[linex_list[1]]=int(linex_list[3].lstrip("x"))
else:
print("Error")
break
name=list(how.keys())
count.append(len(name))
for y in range(len(name)):
all_coi_name.append(name[y])
value=list(how.values())
for y in range(len(value)):
all_coi_value.append(value[y])
sort=[]
for i in range(len(all_coi_name)):
if all_coi_name[i] in sort:
continue
else:
sort.append(all_coi_name[i])
sort.sort()
all_count=[]
for i in range(len(count)):
if i==0:
all_count.append(count[i])
else:
all_count.append("0")
all_count=replaceList(all_count,i,int(count[i]+all_count[i-1]))
all_count_change=[]
for i in range(len(all_count)):
all_count_change.append(int(all_count[i]-1))
all_count=all_count_change
bt=[]
for i in range(len(tag)+2):
if i==0:
bt.append("ID\t")
elif i != len(tag)+1:
bt.append(str(tag[i-1])+"\t")
else:
bt.append(str("\n"))
change=[]
for i in range(len(all_coi_value)):
change.append(-(all_coi_value[i]))
all_coi_value=change
log=open(str(root.rstrip("coi.txt")+"result.txt"),"w+",encoding="UTF-8")
btpr=""
for i in range(len(bt)):
btpr=btpr+str(bt[i])
log.write(btpr)
change1=[]
for i in range(len(all_coi_value)):
if all_coi_value[i]!=0:
change1.append(all_coi_value[i])
else:
change1.append("")
all_coi_value=change1
for i in range(len(sort)):
pr=str(sort[i]+"\t")
dic={}
for x in range(len(tag)):
dic[x]="\t"
for l in range(len(all_coi_name)):
if all_coi_name[l]==sort[i]:
n=part(l,all_count)
dic[n]=all_coi_value[l]
for m in range(len(dic)):
if m !=len(dic)-1:
if str(list(dic.values())[m])=="\t":
pr=pr+str(list(dic.values())[m])
else:
pr=pr+str(list(dic.values())[m])+"\t"
else:
if str(list(dic.values())[m])=="\t":
pr=pr+"\n"
else:
pr=pr+str(list(dic.values())[m])+"\n"
log.write(pr)
log.close()
tkinter.messagebox.showinfo("Congratulations!","数据处理完毕。")
roo = tk.Tk()
roo.title('RIA 援建数据处理系统GUI by Arthals')
canvas = tk.Canvas(roo, width=769,height=432,bd=0, highlightthickness=0)
from RIABG_png import img as socket
imp = open('RIABG.png', 'wb')
imp.write(base64.b64decode(socket))
imp.close()
imgpath = 'RIABG.png'
img = Image.open(imgpath)
photo = ImageTk.PhotoImage(img)
canvas.create_image(0, 0, anchor="nw", image=photo)
canvas.pack()
entry=tk.Entry(roo,insertbackground='blue', highlightthickness =2)
'''
entry_root=tk.Entry(roo,insertbackground='blue', highlightthickness =2)
'''
entry_TimeLog1=tk.Entry(roo,insertbackground='blue', highlightthickness =2)
entry_TimeLog2=tk.Entry(roo,insertbackground='blue', highlightthickness =2)
'''
entry_config=tk.Entry(roo,insertbackground='blue', highlightthickness =2)
'''
entry.pack()
'''
entry_root.pack()
'''
entry_TimeLog1.pack()
entry_TimeLog2.pack()
'''
entry_config.pack()
'''
button=tkinter.Button(roo,text="进行统计",font=('黑体', 20),bg="green",command=go)
button.pack()
canvas.create_window(60, 50, anchor="nw",width=100, height=30,window=entry)
'''
canvas.create_window(120, 120, width=100, height=20,window=entry_root)
'''
canvas.create_window(60, 130, anchor="nw",width=70, height=25,window=entry_TimeLog1)
canvas.create_window(60, 190, anchor="nw",width=70, height=25,window=entry_TimeLog2)
'''
canvas.create_window(120, 160, width=100, height=20,window=entry_config)
'''
canvas.create_window(720, 350,anchor="ne", width=235, height=60,window=button)
roo.mainloop()
图片转换程序
import base64
def pic2py(picture_name):
"""
将图像文件转换为py文件
:param picture_name:
:return:
"""
open_pic = open("%s" % picture_name, 'rb')
b64str = base64.b64encode(open_pic.read())
open_pic.close()
# 注意这边b64str一定要加上.decode()
write_data = 'img = "%s"' % b64str.decode()
f = open('%s.py' % picture_name.replace('.', '_'), 'w+')
f.write(write_data)
f.close()
if __name__ == '__main__':
pics = ["RIABG.png"]
for i in pics:
pic2py(i)
print("ok")