写一个随机任务抽取器

  • 一、前言
  • 二、逻辑构思
    • 2.1 目标实现
    • 2.2 搭建开发环境
    • 2.3 Pyinstaller 打包
  • 三、效果展示
    • 3.1 初始化和添加日记
    • 3.2 查看日记
    • 3.3 删除日记
  • 四、代码展示
  • 五、安装包链接
    • 链接

一、前言

现在几乎没人还用纸质本来记日记了吧,所以我用 python 写了一个日记本,希望有所帮助。

二、逻辑构思

2.1 目标实现

每当我们想要通过程序设计实现自己想要的功能时,我们可以选择合适的编程语言和编辑器以及需要用到的插件和工具来搭建让自己感到最舒适的开发环境,我选择用 python 来实现这个日记本。它满足五个功能:自己记录日记的时间、查看日记、添加日记、删除日记以及退出。

2.2 搭建开发环境

① python 3.10
② python 时间模块 time 和 os,sys 模块
③ python IDLE 和 python 图形界面模块 tkinter
④ Pyinstaller 打包 python 程序成 exe 文件
⑤ Inno Setup 6 编译器

前三个只需要在官网正常安装python后就全部满足了,都内置在python里面了,非常简洁强大。
第四个是第三方模块,需要用到 python 自带的 pip 安装,当然离线还是指定源安装都可以,只不过 pip 足够了。
在正常安装 python 后,安装时勾选过路径,就不需要额外配置环境变量了,只需要 CTRL + R,打开运行,输入 cmd,在 cmd 里直接输入:

pip install pyinstaller

2.3 Pyinstaller 打包

cmd 里面:pyinstaller -F py文件绝对路径

三、效果展示

3.1 初始化和添加日记


3.2 查看日记

3.3 删除日记

四、代码展示

#!/usr/bin/python
# diary.py
import sys
import time
import os.path
import tkinter as tk# 判断文件是否存在,不存在就创建
if not os.path.exists(r"C:\diary"):os.system(r"md {}".format(r"C:\diary"))os.system(r"cd . > {}".format(r"C:\diary\diary_data.txt"))# 加载缓存
with open(r"C:\diary\diary_data.txt", "r", encoding='utf-8') as f:list = f.readlines()list.append(list)list.pop()print('\n{}加载完成{}\n'.format(('='*10), ('='*10)))def show_list(i):"""这里定义了一个显示日记的函数"""print('=' * 28)print("——哟,来看日记啦——")print("(温馨提示:可以根据序号删除日记)")n = 0for i in list:s = str(n)print(s + ":" + i)n += 1def add_list(user_input):"""这里定义了一个添加日记的函数"""try:user_input = input("\n请输入日记的内容:")with open(r"C:\diary\diary_data.txt", "a+", encoding='utf-8') as file:time_data = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))file.write('【' + time_data + '】' + user_input + '\n')new_list()except (ValueError, IndexError, RuntimeError):new_list()def del_list(user_input):"""这里定义了一个删除日记的函数"""try:user_input = int(input("请输入要删除的日记的序号:"))with open(r"C:\diary\diary_data.txt", "r", encoding='utf-8') as f:lines = f.readlines()del lines[user_input]with open(r"C:\diary\diary_data.txt", "w", encoding='utf-8') as f:f.writelines(lines)new_list()except (ValueError, IndexError, RuntimeError):new_list()def new_list():"""这里定义了一个重载程序的函数"""new = sys.executableprint('\n')print("{}程序更新数据中{}\n".format(('='*10), ('='*10)))os.execl(new, new, *sys.argv)def main():# 设置窗口root = tk.Tk()root.geometry("260x224+1100+450")root.title('你的日记')root.attributes('-alpha', 0.95)# 设置按钮及颜色btn1 = tk.Button(root, text="点我查看日记", bd=15, bg='red', width=260)btn2 = tk.Button(root, text="点我添加一个日记", bd=15, bg='Chocolate', width=260)btn3 = tk.Button(root, text="点我删除一个日记", bd=15, bg='orange', width=260)btn4 = tk.Button(root, text='退出', bd=15, command=root.quit, width=260)btn1.pack()btn2.pack()btn3.pack()btn4.pack()# 将按钮和函数绑定btn1.bind("<Button-1>", show_list)btn2.bind("<Button-1>", add_list)btn3.bind("<Button-1>", del_list)# 将窗口挂起进入事件循环root.mainloop()if __name__ == '__main__':main()

五、安装包链接

链接

日记本安装包

用 python 写了一个日记本相关推荐

  1. python写机器人程序_用Python写的一个多线程机器人聊天程序

    本人是从事php开发的, 近来想通过php实现即时通讯(兼容windows).后来发现实现起来特别麻烦, 就想到python.听说这家伙在什么地方都能发挥作用.所以想用python来做通讯模块...所 ...

  2. python卖水果_小姨开水果店的,所以今天用Python写了一个水果店小系统!

    原标题:小姨开水果店的,所以今天用Python写了一个水果店小系统! 前言 今天晚上才刚下班,小姨就提了我最爱吃的榴莲过来,说不吃就坏了. 我一眼就看破了她的用意,哈哈哈 我这个小姨也是一起长大的,她 ...

  3. 用python写的一个简易的云音乐播放器

    本人最近在学习python,在看了一些教程后,用python写了一个简单的云音乐播放器,下面把主要代码贴上来,其中用到了github上他人写的一个汉字转拼音的库,大家可以在github上找到. #co ...

  4. 用python写了一个简易的记账软件,后期有可能更新!

    记账程序由来 曾经在iOS14的快截指令中写了一个快捷指令用来记账,但是由于快捷指令的限制,只能把数据记录到备忘录或者numbers,数据的迁移性很差.所以最后干脆用python写了一个程序 程序介绍 ...

  5. 用Python写了一个电子考勤系统!

    今天给大家分享一个比较有意思的Python应用,用 Python 写了一个电子考勤系统,源码已在文章全部给出,记得点赞收藏哦- 项目简介 学校现在需要实现一个电子考勤系统,考虑到你们班已经学过大数据应 ...

  6. 耗时半年,用 Python 写了一个电子考勤系统

    今天给大家分享一个比较有意思的 Python 应用,用 Python 写了一个电子考勤系统,源码获取在下方文章中给出,记得点赞收藏哦- 文章目录 电子考勤完整代码 项目简介 答题要求 附加功能 导入模 ...

  7. 用 Python 写了一个电子考勤系统!

    今天给大家分享一个比较有意思的Python应用,用 Python 写了一个电子考勤系统,源码已在文章全部给出,记得点赞收藏哦- 项目简介 学校现在需要实现一个电子考勤系统,考虑到你们班已经学过大数据应 ...

  8. python股票全套系统_熬了一晚上,小白用Python写了一个股票提醒系统

    码农小马七夕节去相亲了,见了一个不错的姑娘,长的很是甜美!聊着聊着很投缘!通过介绍人了解到,对方也很满意--想着自己单身多年的生活就要结束啦,心里满是欢喜,美美哒!可是突然想起年初还有几万块在股市里面 ...

  9. python写的一个-批量下载股票年报的小工具

    python写的一个-批量下载股票年报的小工具 from urllib import request import requests import os import openpyxl# print( ...

最新文章

  1. python 字典中的value 不在字典中,key才在
  2. win7下编译uCOS-II
  3. Android View 事件分发机制详解
  4. php编程怎么和mysql链接_php编程怎么和mysql连接
  5. 微信又添新功能!这个微信群可以学英语,而且全程免费
  6. 计算分词的Tf-idf值
  7. PIE SDK PCA融合
  8. 【FME】常见转换器功能介绍
  9. HCIE-Cloud题库
  10. 同一方法被多个Aspect拦截, 修改切面@Around @Before的执行顺序
  11. 说说 Jaspersoft Studio 的主界面和报表设计视图
  12. 分析测试电视遥控总结
  13. Sharepoint visio Web Access
  14. RN:蒲公英内测分发app
  15. java毕业设计翻转课堂微视频管理系统Mybatis+系统+数据库+调试部署
  16. jquery显示隐藏元素
  17. Android提示“很抱歉,xxx已停止运行“,adb命令连接模拟器并查看安卓日志
  18. 聚观早报 | 东方甄选与顺丰、京东合作;拼多多跨境电商平台上线
  19. 【Swing入门教程】一步一步做Netbeans(1):类Netbeans的主界面
  20. js实现城市首字母导航

热门文章

  1. Mac苹果键盘多个按键没响应该如何解决呢
  2. java三层结构小节
  3. IDEA 运行 springboot运行出现 错误: 找不到或无法加载主类和找不到资源文件类
  4. FileLock——Java文件锁
  5. 生物信息学计算机等级,生物信息学考试题.doc
  6. 闪烁LED灯Verilog
  7. 永磁同步电机转子位置估算专题 —— 基波模型与转子位置角
  8. 如何使用爬虫采集搜狐汽车新车资讯
  9. 菜鸟教程中的面试题总结
  10. 达克效应:比绝望之谷更可怕的是迟迟未达到愚昧山峰