在写这个博客的时候,这个故事已经过去挺久了
但是我还是决定写一篇博客记录这件事情
经过几个CSDN热心网友的转发以及一些机缘巧合,我看到了这个初三学生的求助
而内容是制作一个可以统计时间和金额的折线图的小工具
反正闲着也是闲着,我就准备开始入手
1.整理思路
首先,整理下制作的思路
问题中的自动连线生成折线图,让我想到了Python中,Pyecharts模块的Line
于是决定,用Python来完成这次制作
以及问题中,每天输入一个数据,代表了我需要做一个存储数据的容器
先从理论上建立工具使用的流程:
2.构建工具框架
从整理的框架上来看,制作这个工具需要用到一下几个模块
1. Pyecharts模块中的Line功能 构图(程序的主体)
2.os模块 数据文件的查询以及创建
3.time模块 部分地方的停顿
首先,导入3个必要的模块
from pyecharts.charts import Line
import time
import os
然后,分别创建3个函数,来负责工具需要的3个功能
def programme(): #数据库的查询以及创建
def programme2(): #必要信息的输入
def programme3(): #折线图的制作
(懒得给函数想名字了,随便取个凑合着看吧)
至此,框架以及搭建好了
3.完善小工具的各个功能
先从第一个模块开始
数据库的查询以及创建:
def programme():
try:
os.mkdir('data')
print('发现暂没数据目录文件')
print('正在创建...')
time.sleep(2)
print('创建完毕')
except:
pass
直接利用try...except...函数,尝试创建文件夹
减少了查找是否有文件夹的步骤
然后下下一个模块
必要信息的输入:
这里我们大胆的再进行添加元素
如果一个图标画完了,需要构造第二个图标
那我们还需要写一个删除数据文件的命令
def programme2():
print('输入1:添加新行情')
print('输入2:清空行情')
try:
b = int(input('现在,请你输入:'))
except:
b = 999999 #这里随便输入一个不包括1和2的数即可,只是为了防止使用者随便输入
#添加数据
if b == 1:
print('请输入记录时间和数值。')
Time = input('现在,请你输入时间:') + '\n'
dat = input('现在,请你输入数值:')
try:
int(dat)
data = dat + '\n'
print('正在记录,请稍等。。。')
Times = open('data/times.ini','a')
Times.write(Time)
Times.close()
datas = open('data/datas.ini','a')
datas.write(data)
datas.close()
except:
print('你输入的数值有问题,请输入数字')
print('请在3秒后重新输入...')
time.sleep(3)
#清空数据
elif b == 2:
print('正在清空数据,请稍后...')
if(os.path.exists(dirPath+"times.ini")) and (os.path.exists(dirPath+"datas.ini")):
os.remove(dirPath+"times.ini")
os.remove(dirPath+"datas.ini")
time.sleep(3)
print('清空完毕')
time.sleep(3)
else:
print('没有可以清空的数据')
else:
pass
至此,3个模块已经写好了2个,我们继续完成最后一个模块
文章未完,后续文章,请到我的个人博客当神奇降临