<!-- wp:paragraph -->
<p>在写这个博客的时候,这个故事已经过去挺久了</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>但是我还是决定写一篇博客记录这件事情</p>
<!-- /wp:paragraph -->

<!-- wp:image {"sizeSlug":"large"} -->
<figure class="wp-block-image size-large"><figcaption>图片取自CSDN</figcaption></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>经过几个CSDN热心网友的转发以及一些机缘巧合,我看到了这个初三学生的求助</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>而内容是制作一个可以统计时间和金额的折线图的小工具</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>反正闲着也是闲着,我就准备开始入手</p>
<!-- /wp:paragraph -->

<!-- wp:spacer -->
<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"level":3,"textColor":"vivid-cyan-blue"} -->
<h3 class="has-vivid-cyan-blue-color has-text-color">1.整理思路</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>首先,整理下制作的思路</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>问题中的自动连线生成折线图,让我想到了Python中,Pyecharts模块的Line</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>于是决定,用Python来完成这次制作</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>以及问题中,每天输入一个数据,代表了我需要做一个存储数据的容器</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>先从理论上建立工具使用的流程:</p>
<!-- /wp:paragraph -->

<!-- wp:image {"sizeSlug":"large"} -->
<figure class="wp-block-image size-large"><figcaption>图像为原创</figcaption></figure>
<!-- /wp:image -->

<!-- wp:spacer -->
<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"level":3} -->
<h3>2.构建工具框架</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>从整理的框架上来看,制作这个工具需要用到一下几个模块</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>1. Pyecharts模块中的Line功能 构图(程序的主体)</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>2.os模块 数据文件的查询以及创建</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>3.time模块 部分地方的停顿</p>
<!-- /wp:paragraph -->

<!-- wp:spacer -->
<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:paragraph -->
<p>首先,导入3个必要的模块</p>
<!-- /wp:paragraph -->

<!-- wp:code -->

from pyecharts.charts import Line
import time
import os

<!-- /wp:code -->

<!-- wp:paragraph -->
<p>然后,分别创建3个函数,来负责工具需要的3个功能</p>
<!-- /wp:paragraph -->

<!-- wp:code -->

def programme():      #数据库的查询以及创建
def programme2():     #必要信息的输入
def programme3():     #折线图的制作
(懒得给函数想名字了,随便取个凑合着看吧)

<!-- /wp:code -->

<!-- wp:paragraph -->
<p>至此,框架以及搭建好了</p>
<!-- /wp:paragraph -->

<!-- wp:spacer -->
<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"level":3} -->
<h3>3.完善小工具的各个功能</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>先从第一个模块开始</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph {"textColor":"vivid-cyan-blue"} -->
<p class="has-text-color has-vivid-cyan-blue-color">数据库的查询以及创建:</p>
<!-- /wp:paragraph -->

<!-- wp:code -->

def programme():
    try:
        os.mkdir('data')
        print('发现暂没数据目录文件')
        print('正在创建...')
        time.sleep(2)
        print('创建完毕')
    except:
        pass

<!-- /wp:code -->

<!-- wp:paragraph -->
<p>直接利用try...except...函数,尝试创建文件夹</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>减少了查找是否有文件夹的步骤</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>然后下下一个模块</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph {"textColor":"vivid-cyan-blue"} -->
<p class="has-text-color has-vivid-cyan-blue-color">必要信息的输入:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>这里我们大胆的再进行添加元素</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>如果一个图标画完了,需要构造第二个图标</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>那我们还需要写一个删除数据文件的命令</p>
<!-- /wp:paragraph -->

<!-- wp:code -->

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

<!-- /wp:code -->

<!-- wp:paragraph -->
<p>至此,3个模块已经写好了2个,我们继续完成最后一个模块</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph {"textColor":"vivid-cyan-blue"} -->
<p class="has-text-color has-vivid-cyan-blue-color">折线图的制作:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>折线图制作的时候,也需要查询是否有数据文件</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>如果没有数据文件,直接开始制作,制作的过程中将会出错</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>所以这里我们用到os模块的path路径查询</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>已经制作折线图时,金额的大小必须要数字</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>还需要要求输入的内容为数字</p>
<!-- /wp:paragraph -->

<!-- wp:code -->

def programme3():
    #查询数据是否存在
    print('正在查询数据...')
    time.sleep(2)
    if (os.path.exists(dirPath+"times.ini")) and (os.path.exists(dirPath+"datas.ini")):
        timelist = []
        dataslist = []
        with open(dirPath + 'times.ini','r') as file:
            number = 0
            while True:
                number += 1
                line = file.readline()
                if line == '':
                    break
                timelist.append(line)
        with open(dirPath + 'datas.ini','r') as file:
            number = 0
            while True:
                number += 1
                line = file.readline()
                if line == '':
                    break
                dataslist.append(line)
        print('即将开始制作表格...')
        time.sleep(2)
        print('正在制作表格...')
        line = Line()
        line.add_xaxis(timelist)
        line.add_yaxis("销量",dataslist)
        line.render()
        if (os.path.exists("index.html")):
            print('查询到原有表格,正在删除...')
            time.sleep(1)
            os.remove('index.html')
            print('删除完毕...')
        else:
            pass
        os.rename('render.html', 'index.html')
        print('表格制作完毕...')
        print('请在目录文件中,index.html处查看')
        time.sleep(2)
    #数据不存在,运行失败
    else:
        print('没有数据,请输入数据后再进行制作')
        time.sleep(3)

<!-- /wp:code -->

<!-- wp:paragraph -->
<p>好的,工具需要的3个函数,都已经制造完毕</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>最后就只需要构建一个索引,把3个函数连起来</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>工具的制作就完成了</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>4.索引制作</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>既然写了3个函数,小编也准备把索引,分成搜集数据图标制作两块</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>废话不多说,上代码</p>
<!-- /wp:paragraph -->

<!-- wp:code -->

#索引
while True:
    programme()
    print('------------------------------')
    print('行情记录工具')
    print('------------------------------')
    print('输入1:行情修改')
    print('输入2:行情表查询')
    print('输入3,退出程序')
    try:
        a = int(input('现在,请你输入:'))
    except:
        a = 4
    #程序开始
    if a == 1:
        programme2()
    elif a == 2:
        programme3()
    elif a == 3:
        print('即将退出程序')
        time.sleep(3)
        break
    else:
        closewin += 1
        if closewin == 2:#乱进行使用,程序将关闭
            print('程序关闭!')
            time.sleep(3)
            break
        else:
            print('抱歉,请按照规则输入,否则程序将关闭')
            print('请在3秒后重试')
            time.sleep(3)

<!-- /wp:code -->

<!-- wp:paragraph -->
<p>嘿嘿,小编在代码里,悄悄的增加了防止熊孩子在索引里随便乱输入代码</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>如果熊孩子不按规则使用,,,</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>那么,,,程序就会自己关闭啦</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph {"backgroundColor":"vivid-green-cyan"} -->
<p class="has-background has-vivid-green-cyan-background-color">最后,附上工具源码的链接: 下载地址</p>
<!-- /wp:paragraph -->

最后修改:2021 年 02 月 01 日 09 : 40 AM
如果觉得我的文章对你有用,请随意赞赏