-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrecord-generator.py
109 lines (98 loc) · 5.3 KB
/
record-generator.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
from docx import Document #用来建立一个word对象
from docx.shared import Pt #用来设置字体的大小
from docx.shared import Inches
from docx.oxml.ns import qn #设置字体
from docx.shared import RGBColor #设置字体的颜色
from docx.enum.text import WD_ALIGN_PARAGRAPH #设置对其方式
import time
#创建一个空白的word文档
#设置1级标题
def set1(str,doc):
para_heading=doc.add_heading('',level=1)#返回1级标题段落对象,标题也相当于一个段落
para_heading.alignment=WD_ALIGN_PARAGRAPH.LEFT#设置为左对齐
para_heading.paragraph_format.space_before=Pt(0)#设置段前 0 磅
para_heading.paragraph_format.space_after=Pt(0) #设置段后 0 磅
para_heading.paragraph_format.line_spacing=1.5 #设置行间距为 1.5
para_heading.paragraph_format.left_indent=Inches(0)#设置左缩进 1英寸
para_heading.paragraph_format.right_indent=Inches(0)#设置右缩进 0.5 英寸
run=para_heading.add_run(str)
run.font.name='宋体' #设置为宋体
run._element.rPr.rFonts.set(qn('w:eastAsia'), '宋体')#设置为宋体,和上边的一起使用
run.font.size=Pt(22)#设置1级标题文字的大小为“小四” 为12磅
run.font.color.rgb=RGBColor(0,0,0)#设置颜色为黑色
def settext(str,doc):
p=doc.add_paragraph()
p.paragraph_format.space_before=Pt(0)#设置段前 0 磅
p.paragraph_format.space_after=Pt(0) #设置段后 0 磅
p.paragraph_format.line_spacing=1.5 #设置行间距为 1.5倍
#p.paragraph_format.first_line_indent=Inches(0.5) #段落首行缩进为 0.5英寸
p.paragraph_format.first_line_indent=Inches(0.3346457)#相当于小四两个字符的缩进
p.paragraph_format.left_indent=Inches(0)#设置左缩进 1英寸
p.paragraph_format.right_indent=Inches(0)#设置右缩进 0.5 英寸
r=p.add_run(str)
r.font.name='宋体' #设置为宋体
r._element.rPr.rFonts.set(qn('w:eastAsia'), '宋体')#设置为宋体,和上边的一起使用
r.font.size=Pt(12) #设置字体大小为13磅 相当于 四
r.font.color.rgb=RGBColor(0,0,0)#设置颜色为黑色
#设置2级标题
def set2(str,doc):
para_heading=doc.add_heading('',level=2)#返回1级标题段落对象,标题也相当于一个段落
para_heading.alignment=WD_ALIGN_PARAGRAPH.LEFT#设置为左对齐
para_heading.paragraph_format.space_before=Pt(0)#设置段前 0 磅
para_heading.paragraph_format.space_after=Pt(0) #设置段后 0 磅
para_heading.paragraph_format.line_spacing=1.5 #设置行间距为 1.5
para_heading.paragraph_format.left_indent=Inches(0)#设置左缩进 1英寸
para_heading.paragraph_format.right_indent=Inches(0)#设置右缩进 0.5 英寸
run=para_heading.add_run(str)
run.font.name='宋体' #设置为宋体
run._element.rPr.rFonts.set(qn('w:eastAsia'), '宋体')#设置为宋体,和上边的一起使用
run.font.size=Pt(16)#设置1级标题文字的大小为“小四” 为12磅
run.font.color.rgb=RGBColor(0,0,0)#设置颜色为黑色
def set3(str,doc):
para_heading=doc.add_heading('',level=3)#返回1级标题段落对象,标题也相当于一个段落
para_heading.alignment=WD_ALIGN_PARAGRAPH.LEFT#设置为左对齐
para_heading.paragraph_format.space_before=Pt(0)#设置段前 0 磅
para_heading.paragraph_format.space_after=Pt(0) #设置段后 0 磅
para_heading.paragraph_format.line_spacing=1.5 #设置行间距为 1.5
para_heading.paragraph_format.left_indent=Inches(0)#设置左缩进 1英寸
para_heading.paragraph_format.right_indent=Inches(0)#设置右缩进 0.5 英寸
run=para_heading.add_run(str)
run.font.name='宋体' #设置为宋体
run._element.rPr.rFonts.set(qn('w:eastAsia'), '宋体')#设置为宋体,和上边的一起使用
run.font.size=Pt(14)#设置1级标题文字的大小为“小四” 为14磅
run.font.color.rgb=RGBColor(0,0,0)#设置颜色为黑色
while True:
str = input("\n日志信息\n")
try:#尝试打开日志文档,否则不打开。
doc=Document("record.docx")
except Exception as m:
pass
doc=Document()
time_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
time_str_old = ""
record=open("record.txt","a+")#简单记录文本
log=open("log.txt","r+")#用于记录记录时间
logtext = log.readlines()
try:
time_str_old = logtext[-1]
except Exception as m:
print("warning:没有log文件或文件为空")
time_str_old = "1995-09-15"
if time_str[0:4]!=time_str_old[0:4]:#年数不同则重建三个标题
set1(time_str[0:4]+"年",doc)
set2(time_str[0:4] + "年" + time_str[5:7] + "月",doc)
set3(time_str[0:4] + "年" + time_str[5:7] + "月" + time_str[8:10] + "日",doc)
elif time_str[5:7] != time_str_old[5:7]:
set2(time_str[0:4]+"年"+time_str[5:7]+"月",doc)
set3(time_str[0:4] + "年" + time_str[5:7] + "月" + time_str[8:10] + "日",doc)
elif time_str[8:10] != time_str_old[8:10]:
set3(time_str[0:4] + "年" + time_str[5:7] + "月" + time_str[8:10]+"日",doc)
settext(time_str+" "+str,doc)
record.write(time_str+" "+str+"\n")
log.write("\n"+time_str)
log.close()
record.close()
doc.save("record.docx")
print("该次记录时间为"+time_str)
#set2("2021")
#doc.save("测试文件.docx")